Hi,
I'm trying to send an "intent" via tizen.application.launchAppControl from a Gear S to a paired Phone.
In case of just starting the galaxy store to show a specific app everything works fine, e.g.
var appid = "com.samsung.w-manager-service" , type = "phone" , url = "samsungapps://ProductDetail/appid" , extra_data = [ new tizen.ApplicationControlData("type", [type]), new tizen.ApplicationControlData("deeplink", [url]) ] , appControl = new tizen.ApplicationControl( "http://tizen.org/appcontrol/operation/default", null, null, null, extra_data ) , appControlReplyCallback = { // callee sent a reply onsuccess: function(data) { console.log("launchUrl reply success"); console.log("success: data = " + JSON.stringify(data)); }, // callee returned failure onfailure: function() { console.log("launchUrl reply failed"); } } ; try { tizen.application.launchAppControl( appControl, appid, function() { console.log("launchUrl success"); }, function(err) { console.log("launchUrl failed: " + err.message); }, appControlReplyCallback ); } catch(err) { console.error("[launcher] " + err); }
But if I try to use this for an intent of a costume app on the phone it's not working as expected.
As far as I interpreted the "adb catlog" of the phone the url from deeplink is used as "intent.setData" what is ok, but I'm not able to set the intents action.
I/HMSAPProviderService( 1327): onDataAvailable() channelId=103, data [{ "msgId" : "mgr_install_host_app_req", "pkg_name" : "----------", "download_type" : "gear", "deeplink_url" : "my.intent.data://v1.0/52.52164,13.41087" }] I/ActivityManager( 901): START u0 {act=android.intent.action.VIEW dat=my.intent.data://v1.0/52.52164,13.41087 flg=0x10000000 (has extras)} from uid 10214 on display 0 D/Instrumentation( 1327): checkStartActivityResult :Intent { act=android.intent.action.VIEW dat=my.intent.data://v1.0/52.52164,13.41087 flg=0x10000000 (has extras) } D/Instrumentation( 1327): checkStartActivityResult inent is instance of inent: W/System.err( 1327): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=my.intent.data://v1.0/52.52164,13.41087 flg=0x10000000 (has extras) } W/System.err( 1327): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1801) W/System.err( 1327): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1499) W/System.err( 1327): at android.app.ContextImpl.startActivity(ContextImpl.java:1545) W/System.err( 1327): at android.app.ContextImpl.startActivity(ContextImpl.java:1527) W/System.err( 1327): at android.content.ContextWrapper.startActivity(ContextWrapper.java:337) W/System.err( 1327): at com.samsung.android.hostmanager.jsoncontroller.PMJSONReceiver.handleInstallHostAppRequest(PMJSONReceiver.java:3308) W/System.err( 1327): at com.samsung.android.hostmanager.jsoncontroller.PMJSONReceiver.onDataAvailable(PMJSONReceiver.java:234) W/System.err( 1327): at com.samsung.android.hostmanager.jsoncontroller.JSONController.onDataAvailable(JSONController.java:49) W/System.err( 1327): at com.samsung.android.hostmanager.service.HMSAPProviderService.onDataAvailable(HMSAPProviderService.java:493) W/System.err( 1327): at com.samsung.android.hostmanager.connection.HMSAPSASocket.onReceive(HMSAPSASocket.java:352) W/System.err( 1327): at com.samsung.android.sdk.accessory.SASocket$ChannelCallback.onRead(SASocket.java:637) W/System.err( 1327): at com.samsung.accessory.api.SAServiceChannel$EventCallBackResultReceiver.onReceiveResult(SAServiceChannel.java:225) W/System.err( 1327): at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50) W/System.err( 1327): at android.os.Handler.handleCallback(Handler.java:739) W/System.err( 1327): at android.os.Handler.dispatchMessage(Handler.java:95) W/System.err( 1327): at android.os.Looper.loop(Looper.java:145) W/System.err( 1327): at android.os.HandlerThread.run(HandlerThread.java:61)
So the line with
I/ActivityManager( 901): START u0 {act=android.intent.action.VIEW dat=my.intent.data://v1.0/52.52164,13.41087 flg=0x10000000 (has extras)} from uid 10214 on display 0
shows that it's trying to use "act=android.intent.action.VIEW" as action, but I should be something like "act=com.my.app.DOSOMETHING".
Does anybody know if it is even possible to use/call android intents from a Gear device?
The main goal is to use already implemented intents from an Android App in a wearable companion app. Otherwise we need to implement the also in our SAP communication. But it would be nice to use some of the already implemented stuff.
Regards
Stephan