gpt4 book ai didi

如果使用 FLAG_NO_CLEAR,则不会显示 Android Wear Notification

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:10 25 4
gpt4 key购买 nike

如果使用标志“FLAG_NO_CLEAR”,通知将显示在 Android Wear 上。

有谁知道原因或任何解决方法?我没有在文档中找到任何信息。

我需要在我的通知上标记“FLAG_NO_CLEAR”,并有用于“关闭”、“暂停”等操作按钮!

最佳答案

通知标志 FLAG_NO_CLEAR 基本上使您的通知“持续”。从手机发布的持续通知不会显示在可穿戴设备上。

对于您的问题,您有两个解决方案 - 它们各有优缺点。请阅读下面的文字并决定哪种解决方案可以更好地解决您的情况:)

解决方案 1 - 使用组:

您可以使用 Android Wear 框架的 group 功能。它基本上是为了在可穿戴设备上发布许多(分组的)通知和在手机上发布一个 summary 通知而创建的。但是使用这种机制,您还可以在手机上发布一个 ongoing 通知,第二个通知仅在佩戴时发布。您最终会在手机上收到一个持续通知,在您的可穿戴设备上收到一个普通通知。

    final NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);

// This notification will be shown only on phone
final NotificationCompat.Builder phoneNotificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Title phone")
.setContentText("Text phone")
.setOngoing(true)
.setOnlyAlertOnce(true)
.setGroup("GROUP")
.setGroupSummary(true);

// This notification will be shown only on watch
final NotificationCompat.Builder wearableNotificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Title wearable")
.setContentText("Text wearable")
.setOngoing(false)
.setOnlyAlertOnce(true)
.setGroup("GROUP")
.setGroupSummary(false);

notificationManager.notify(0, phoneNotificationBuilder.build());
notificationManager.notify(1, wearableNotificationBuilder.build());

此方法将允许您仅针对 watch 发布“替代”通知,同时在手机上保留您的ongoing 通知。但是(如前所述) watch 上的通知不能 ongoing - 它必须是正常通知。如果你真的想在 watch 上有一个真正的 ongoing 通知,你需要寻求第二种解决方案。

请在此处阅读有关分组(堆叠)通知的更多信息:
https://developer.android.com/training/wearables/notifications/stacks.html

解决方案 2 - 创建可穿戴应用:

来自手机的持续通知不会显示在 watch 上,但您可以创建 Android 应用程序的可穿戴部分并直接在 Android Wear 上发布您的通知。您可以从那里轻松发布持续通知,但它不会与手机上的通知相同。您需要在两台设备之间同步它们。

请在此处阅读有关 DataApi 的更多信息:
https://developer.android.com/training/wearables/data-layer/index.html
https://developer.android.com/training/wearables/data-layer/data-items.html

您还可以查看我的帖子,我在其中发布了演示如何在实践中使用 DataApi 的代码:
https://stackoverflow.com/a/24896043/3827276

关于如果使用 FLAG_NO_CLEAR,则不会显示 Android Wear Notification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24631932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com