Opening GDK Glassware through Mirror API Glassware MenuItem

妖精的绣舞 提交于 2019-11-27 06:30:44

问题


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

  1. 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>
  2. 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"
             },
             },
            },
        }
    
  3. 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&param2&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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!