Android Wear: inicia la actividad de desgaste de la acción de mano

Estoy enviando una notificación de un dispositivo portátil de Android a un dispositivo de desgaste de Android. Me gustaría incluir una acción con la notificación que inicia una actividad en el dispositivo de desgaste de Android.

¿Cómo establezco la intención pendiente en una actividad en el dispositivo de desgaste? Soy capaz de iniciar la actividad si la notificación se crea en el usable, pero no si la notificación se crea en el teléfono y luego se envía a la usable.

// creating action for push notification created on handheld public NotificationCompat.Action CreateWearAppAction(Integer metricId) { // I wasnt able to look up the wear's main activity class since this is in the handheld project. Intent wearPageIntent = new Intent(Intent.ACTION_VIEW); Uri wearUri = Uri.parse("mywearapp://Test?MetricId=" + metricId); wearPageIntent.setData(wearUri); PendingIntent wearPagePendingIntent = PendingIntent.getActivity(context, 0, wearPageIntent, 0); return new NotificationCompat.Action.Builder(R.drawable.ic_action_metric, "Open Charts on Wear", wearPagePendingIntent) .build(); } 

Actividad manifiesto de la aplicación de desgaste que estoy tratando de lanzar:

  <activity android:name=".MainActivity" android:label="@string/app_name" android:noHistory="true" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <!-- deep link --> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="mywearapp" /> </intent-filter> </activity> 

Echa un vistazo a la muestra de DataLayer incluida en el SDK Manager de Android para la API 20. Contiene un ejemplo de cómo iniciar una actividad en el usable después de que un usuario pulsa un botón en el dispositivo móvil.

Que probablemente se hace con un poco de hackery.

Cree su propia acción y haga que Wear.activity <intent-filter use. Algo como:

  <intent-filter> <action android:name="com.myCompany.myApp.ACTION.openWearActivity" /> </intent-filter> 

Entonces en su intención de notificación, creado desde el teléfono, usted lo sabe, sólo tiene que usar uno:

 new Intent("com.myCompany.myApp.ACTION.openWearActivity"); 

Y voila!

  • Alinear el elemento en la esquina de la ronda Dispositivo de desgaste
  • Creación de un Wear AVD
  • ¿Cómo abrir la aplicación principal de la usable?
  • Android Wear Google Analytics
  • ¿Cuál es la forma correcta de implementar un GridViewPager en Android Wear?
  • Añadir Android Wear Module a mi aplicación
  • ¿Dónde están los archivos de salida de Android Wear Proguard?
  • ¿Será esto posible con Android sdk usable
  • Android desgaste acción ícono icono tamaño vs teléfono notificación acción artículo tamaño
  • ¿Cuál es el Uri para Wearable.DataApi.getDataItem () después de usar PutDataMapRequest?
  • Cómo empaquetar una app de WatchFace sólo para la publicación de Google Play
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.