¿Cómo puedo crear una notificación diferente en el dispositivo y el desgaste?
Básicamente, me pregunto si es posible crear dos notificaciones diferentes y cómo – una para Android Device y otra para Android Wear?
Por ejemplo: Quiero tener sólo setContentText
, pero en el dispositivo Android quiero setContentTitle
y setContentText
- Uso de la base de datos existente en Android Wear
- La aplicación de Android Wear falla con FATAL EXCEPTION: IntentService
- Utilizar la barra de progreso circular como alarmdialog o progressdialog
- Import android.support.wearable no se puede resolver
- Recuperación del nombre del dispositivo de desgaste
Actualmente no existe la posibilidad de mostrar la notificación sólo en el desgaste (como setLocalOnly
con el dispositivo sólo – buscar más ).
- Android Wear WearableListView en un GridViewPager
- ¿Cómo evita que una actividad de Android Wear tenga varias instancias?
- ¿Cómo distribuyo mi Android Wear a usuarios alfa / beta en Google Play Store?
- Registro de pantalla Android Wear
- ¿Puedo enviar objetos personalizados a Android Wear?
- Android Wear sin servicios de Google Play?
- Debug Android Wear Device sobre USB
- Cómo obtener los botones del reproductor de música en Android desgaste como google play music
Creo que la muestra de notificaciones sincronizadas que se incluye con el SDK de Android Wear puede resultar útil. (3) Un par de notificaciones sincronizadas de teléfono y reloj en las que el contenido mostrado en la notificación de reloj es diferente del que aparece en la pantalla. teléfono. Están sincronizados en el sentido de que despedir a uno resulta en el despido del otro; Todos basados en la capa de datos apis.
Creo que el tercer caso de uso es más relevante para usted.
Oficialmente, no es posible crear dos notificaciones diferentes de desgaste y el teléfono sin escribir su propia extensión de Android Wear App. Sólo es posible definir una notificación que sólo se muestra en el teléfono con NotificationCompat.Builder.setLocalOnly (true)
Para crear una notificación que sólo se muestra en un dispositivo de desgaste, sin embargo, puede (por el momento) agregar la notificación a un grupo con NotificationCompat.Builder.setGroup (randomGroupKey) y omitir la presentación de una notificación de resumen de grupo. Si una notificación pertenece a un grupo, no se muestra en el teléfono porque el teléfono sólo mostrará la notificación de resumen. Si no hay ningún resumen, sólo recibe una notificación para su reloj. Simplemente genere una clave de grupo aleatoria para cada notificación de solo reloj.
Oficialmente sólo es posible crear una notificación que se vea diferente en un smartwatch.
Para este uso un WearableExtender . Por ejemplo, este fragmento de código:
NotificationCompat.Builder builder = new NotificationCompat.Builder(this); builder.setContentTitle(getString(R.string.smaple_notification_title)); builder.setSmallIcon(R.drawable.ic_message); builder.setContentIntent(PendingIntent.getActivity(this, 0, new Intent(this, ActivateActivity.class), PendingIntent.FLAG_UPDATE_CURRENT)); NotificationCompat.WearableExtender extender = new NotificationCompat.WearableExtender(); extender.setBackground(BitmapFactory.decodeResource(getResources(), R.drawable.notif_background)); extender.setContentIcon(R.drawable.ic_message); extender.setHintHideIcon(true); extender.extend(builder); builder.setPriority(NotificationCompat.PRIORITY_LOW); builder.setContentText(notificationText); builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.large_icon)); notificationManager.notify(messageIndex, builder.build());
Establece un fondo especial para la notificación, oculta el icono de la aplicación que se muestra normalmente en la notificación y agrega un nuevo icono a la vista previa de su notificación en el modo "pantalla desactivada" del reloj.
No sé si hay una manera de hacer exactamente lo que quieres, pero trato de usar stack & summary para evitarlo: una notificación contentText sólo ha sido oculta por una notificación de resumen con contentText y contentTitle. Sin embargo, en el resumen de Android Wear no se muestra, pero se puede mostrar toda la notificación apilada (en su término es la notificación con sólo contenido).
Sí, es posible. Pasos –
- Interceptar sus notificaciones en la computadora de mano mediante la implementación de
BroadcastReceiever
- Generar notificación para la computadora de mano usando NotificationBuilder – use
setLocalOnly
para duplicarla con Wearable - Enviar datos de notificación en mensaje a Wearable – usando MessageApi
- Extraer los datos recibidos y generar la notificación para usable
- SetLatestEventInfo () no se puede resolver en Android Studio
- Android sqlite ordenar en la columna calculada (coordina la distancia)