Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Homescreen in IOS starten (https://www.delphipraxis.net/196342-homescreen-ios-starten.html)

QuickAndDirty 14. Mai 2018 15:13

Homescreen in IOS starten
 
Wie sieht das da unten für IOS aus?

Delphi-Quellcode:
Procedure OpenHomeScreen;
{$IFDEF ANDROID}
var
  Intent: JIntent;
{$ENDIF ANDROID}
Begin
{$IFDEF ANDROID}
  Intent := TJIntent.Javaclass.init(TJIntent.JavaClass.ACTION_MAIN);
  Intent.addCategory(TJIntent.JavaClass.CATEGORY_HOME);
  Intent.setFlags(TjIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
  TAndroidhelper.Activity.startActivity(Intent);
{$ENDIF ANDROID}
End;

TiGü 14. Mai 2018 15:23

AW: Homescreen in IOS starten
 
Wie sieht denn der Code in Objektive-C oder Swift aus, um das nativ zu bewerkstelligen?

QuickAndDirty 14. Mai 2018 15:46

AW: Homescreen in IOS starten
 
Könnte so gehen
https://stackoverflow.com/questions/...to-home-screen

Ich bin leider kein Objective-C- oder Swift-Kundiger.

QuickAndDirty 14. Mai 2018 16:36

AW: Homescreen in IOS starten
 
Sowas? (Ich kann im moment nicht testen )
Delphi-Quellcode:
Procedure OpenHomeScreen;
{$IFDEF ANDROID}
var
  Intent: JIntent;
{$ENDIF ANDROID}
{$IFDEF IOS}


{$ENDIF}
Begin
{$IFDEF IOS}
  NavigationController.popToRootViewControllerAnimated(true);
{$ENDIF}
{$IFDEF ANDROID}
  Intent := TJIntent.Javaclass.init(TJIntent.JavaClass.ACTION_MAIN);
  Intent.addCategory(TJIntent.JavaClass.CATEGORY_HOME);
  Intent.setFlags(TjIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
  TAndroidhelper.Activity.startActivity(Intent);
{$ENDIF ANDROID}
End;

QuickAndDirty 16. Mai 2018 16:00

AW: Homescreen in IOS starten
 
???

TiGü 16. Mai 2018 16:26

AW: Homescreen in IOS starten
 
Soll das jetzt jemand für dich testen?

QuickAndDirty 2. Okt 2018 09:51

AW: Homescreen in IOS starten
 
Nein, das ist der Code schnipsel den ich aus nem IOS Developer forum kopiert habe.
Das kompiliert nichtmal.
Wär halt schön wenn jemand wüsste wie man in IOS aus der Appheraus in den Homescreen wechseln kann.

QuickAndDirty 2. Okt 2018 10:22

AW: Homescreen in IOS starten
 
Delphi-Quellcode:
{$IFDEF IOS}
uses iOSapi.UIKit;
{$ENDIF}

Procedure OpenHomeScreen;
{$IFDEF ANDROID}
var
  Intent: JIntent;
{$ENDIF ANDROID}
{$IFDEF IOS}
var
  NavigationController:UINavigationController;
{$ENDIF}
Begin
{$IFDEF IOS}
  NavigationController := TUINavigationController.Wrap(TUINavigationController.OCClass);
  NavigationController.popToRootViewControllerAnimated(true);
{$ENDIF}
{$IFDEF ANDROID}
  Intent := TJIntent.Javaclass.init(TJIntent.JavaClass.ACTION_MAIN);
  Intent.addCategory(TJIntent.JavaClass.CATEGORY_HOME);
  Intent.setFlags(TjIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
  TAndroidhelper.Activity.startActivity(Intent);
{$ENDIF ANDROID}
End;
Greife ich so auf den NavigationController zu?
Ich hab in den Samples "Wrap" immer nur in Verbindung mit einer Klassenmethode gesehen...Die liefert vermutlich einen Singleton...

Delphi-Quellcode:
procedure TDeviceInfo.Load;
var
  Device : UIDevice;
begin
  Device := TUIDevice.Wrap(TUIDevice.OCClass.currentDevice);///<--So wie hier
  fManufacturer := NSStrToStr(Device.name);
  fLocalizedModel := NSStrToStr(Device.localizedModel);
  fmodel := NSStrToStr(Device.model);
  fBrand := fManufacturer;
end;
Aber die OCClass von TUINavigationController hat keine klassenmethode ...außer
Code:
attemptRotationToDeviceOrientation
Sorry, falls ich mich blöd anstelle.. während ich die Android Importe halbwegs verstehe, habe ich bei IOS noch keinen Durchblick.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz