佩戴设备和移动设备的不同文本

时间:2014-12-20 09:11:04

标签: android android-notifications wear-os

是否可以在Android耗材设备和移动设备中显示不同文字(内容标题和内容文字)的通知?

3 个答案:

答案 0 :(得分:1)

目前不是。但是,您可以通过以下方式实现此效果:

  1. 使用setLocalOnly(true)
  2. 在手机上发布通知
  3. 使用描述通知和更改文字的DataItem发布DataAPI
  4. 当可穿戴设备收到DataItem时,使用不同的文字发布通知,再次设置setLocalOnly(true)
  5. 在每个通知上同时致电setDeleteIntent,以便在您被解雇时知道
  6. 当通知被取消时,请从第2点删除DataItem
  7. DataItem被删除时,您将收到回调;删除剩余通知
  8. 我可能不会立即看到一些极端情况,但一般方法应该可以让你达到你想要的效果。

答案 1 :(得分:0)

是的,现在可能有一些棘手的问题并且Android上的错误对我们有帮助。更多关于这个技巧不需要Android磨损API,只需使用RemoteViews进行正常通知即可。

NotificationCompat.Builder mBuilder;
    mBuilder = new NotificationCompat.Builder(context)
    .setSmallIcon(R.drawable.ic_launcher)
    .setAutoCancel(true)
    .setContentText("This msg won't display in your phone, only on wear you can see.")
    .setContentTitle("Hello")

    .setContentIntent(
            PendingIntent.getActivity(context, 10,intent,PendingIntent.FLAG_ONE_SHOT));

    NotificationManager mNM = (NotificationManager) context
            .getSystemService(Context.NOTIFICATION_SERVICE);
    Notification notification = mBuilder.build();

    RemoteViews contentView = new RemoteViews(context.getPackageName(),
    R.layout.notification_layout);

    contentView.setTextViewText(R.id.noti_text,"This message won't display in your wear device, only on phone you can see.");
    contentView.setImageViewResource(R.id.noti_image,R.drawable.ic_launcher);
    notification.contentView = contentView;

    notification.flags |= Notification.FLAG_AUTO_CANCEL;

    mNM.notify(50, notification);

现在在您的设备上运行应用程序并检查手表和手机上的通知,RemoteViews内的内容不会显示在手表中,但在手机上会显示,如果您删除.setContentTitle()& .setContentText(),然后RemoteViews内容也将同时显示在手表和手机上。

答案 2 :(得分:0)

实际上你可以使用

实现这一目标

.setGroup(GROUP_KEY) .setGroupSummary(true)

在手机通知上。然后使用要在手表上显示的数据创建通知并设置

.setGroup(GROUP_KEY)

到您手机通知的同一组。这用于显示堆栈通知,但如果您只使用一个堆栈通知,那么它就可以解决问题。

完整文档:Stacking Notifications