问题
I have problem integrating GDK Glassware and Mirror API Glassware as described here. I need to open GDK glassware application using Mirroe api Glassware app MenuItem. Can I send data bundle with intent. Does anybody have an idea about that.
Thank you.
回答1:
I have finally figured out a way to do that
First add your custom scheme to android activity tag in AndroidManifest.xml
<activity android:name="com.sanath.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <action android:name="com.google.android.glass.action.VOICE_TRIGGER" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <data android:scheme="com.sanath.scheme" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="com.google.android.glass.VoiceTrigger" android:resource="@xml/vision_voice_trigger" /> </activity>
Then in Glassware timeline MenuItem add like following
new MenuItem(){ Action = "OPEN_URI", Payload = "com.sanath.scheme://open/Welcome/2014", Values = new MenuValue[] { new MenuValue() { DisplayName = "Open", State = "DEFAULT" }, new MenuValue() { DisplayName = "Launching", State = "PENDING" }, new MenuValue() { DisplayName = "Launched", State = "CONFIRMED" }, }, }, }
Then inside your Activity OnCreate method you can get data as following
Uri data = getIntent().getData(); List params = data.getPathSegments(); String param0 = params.get(0); // "welcome" String param1 = params.get(1); //"2014" String welcomeMsg = param0+" to "+param1; /*show time line card * */ Card welcomeCard =new Card(this); welcomeCard.setText(welcomeMsg); welcomeCard.setFootnote(param1); View view =welcomeCard.toView(); setContentView(view);
Hope this will help others
回答2:
It is not possible to provide data through bundle, but you can use query parameters or hash fragment in your URI
to provide the necessary data.
Example:
myscheme://<SOME_PATH>?param1=value1¶m2&value2
Then, in your GDK Glassware, simply parse the query parameters and process their values.
来源:https://stackoverflow.com/questions/20965155/opening-gdk-glassware-through-mirror-api-glassware-menuitem