Ich habe ein mobilesFirst-Hybrid-App-Projekt, und ich habe Activity-Unterklasse in seinem nativen Projekt für Bluetooth und Google Maps implementiert. Wenn ich nun auf einem physischen Gerät laufe, wird nur die native Aktivität gestartet und keine HTML-Seite angezeigt. Auf der anderen Seite, wenn ich versuche, es auf dem Emulator auszuführen, werden die HTML-Seiten angezeigt, aber die native Seite kann nicht getestet werden. (Native Aktivität sucht nach Bluetooth)So starten Sie die MobileFirst-Anwendung auf einem physischen Gerät mit nativer Aktivität
-2
A
Antwort
0
Sie müssen die SendAction-API verwenden, um native Klassen aus dem Webcode aufzurufen. Siehe das folgende Tutorial und Dokumentation Thema:
- Tutorial (und Beispielanwendung): https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.1/adding-native-functionality/android-adding-native-ui-elements-hybrid-applications/
- Dokumentation: http://www.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.dev.doc/devref/c_action_sender.html
- Beispiel: Android: MobileFirst sending data from Native to cross page
Verwendung der API Sie einen Anruf in wlCommonInit machen um Ihren Code in der nativen Klasse auszuführen und diese native Funktionalität in Ihrer Hybrid-App zu verwenden.
Alternativ können Sie auch eine benutzerdefinierte implementieren Cordova Plug-in: https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.1/adding-native-functionality/android-adding-native-functionality-hybrid-application-apache-cordova-plugin/
OK so das Teil i fehlte, ist, dass ich brauchte WLInitWebFrameworkListener Klasse und implementieren seine onInitWebFrameworkComplete Funktion zu laden mainhtmlfile zu implementieren, so dass jetzt kann ich meine HTML-Seite auf der App. Nun, was ich tun möchte, ist dieses Framework auf einem Listenansicht Element Klick-Ereignis zu initialisieren, aber es lässt mich nicht, da der Kontext geändert wurde – Samra
Ich musste MyActivity.this stattdessen hinzufügen, um den Kontext zu ändern !! Problem gelöst – Samra