Search code examples
google-glassgoogle-mirror-apigoogle-gdk

Opening GDK Glassware through Mirror API Glassware MenuItem


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.


Solution

  • 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