基本上,我想知道是否有可能创建两个不同的通知,以及如何 - 一个Android设备和其他Android Wear?如何在设备上创建不同的通知并穿戴?
例如:我想刚才setContentText
,但Android设备上我想setContentTitle
和setContentText
目前没有可能只显示对磨损的通知(如setLocalOnly
只有设备 - look for more)。
基本上,我想知道是否有可能创建两个不同的通知,以及如何 - 一个Android设备和其他Android Wear?如何在设备上创建不同的通知并穿戴?
例如:我想刚才setContentText
,但Android设备上我想setContentTitle
和setContentText
目前没有可能只显示对磨损的通知(如setLocalOnly
只有设备 - look for more)。
我不知道是否有办法做到你想要的东西,但我尝试使用stack &摘要来绕过这个:contentText only通知已被contentText和contentTitle的总结通知隐藏了。在Android Wear上,不会显示摘要,但可以显示所有堆叠通知(在您的术语中是仅包含contentText的通知)。
我认为Android Wear SDK附带的Synchronized Notifications示例可能对您有所帮助。它提供了三种简单的通知类型: (1)仅限电话通知 (2)仅限手表通知 (3)一对同步手机和手表通知,其中手表通知中显示的内容 与手机通知中的内容不同在电话上的那个。他们是 同步的意思,解散一个导致另一个解雇 ;全部基于数据层apis。
我认为第三个用例与您最相关。
正式情况下,无法编写自己的Android Wear应用扩展程序,因此无法为佩带和手机创建两个不同的通知。只能在电话上定义仅显示在电话上的通知NotificationCompat.Builder.setLocalOnly(true)
要创建仅在Wear设备上显示的通知,但您可以(此刻)将通知添加到NotificationCompat.Builder.setGroup(randomGroupKey)以及省略显示组摘要通知。如果通知属于某个群组,则不会在手机上显示,因为手机只会显示摘要通知。如果没有摘要,您只会收到手表的通知。只需为每个仅限手表的通知生成随机组密钥。
正式情况下,只能在智能手表上创建看起来不同的通知。
为此使用WearableExtender。例如,这代码片段:
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());
设置的通知的特殊背景下,隐藏了是在通知正常显示的应用程序图标,并在“关屏”增加了一个新的图标,你通知的预览手表的模式。
这是工作之一。顺便说一下,扩展WearableExtender不要只在磨损时才能看到组摘要。它也显示在手机上... –
是的,这是可能的。步骤 -
BroadcastReceiever
setLocalOnly
在信息与耐磨
如果您有穿戴应用程序,则可以创建通知从该应用程序中,您可以使用消息传递层来触发它。 – Raanan