gpt4 book ai didi

Android开发通知图标问题

转载 作者:行者123 更新时间:2023-11-30 04:46:58 25 4
gpt4 key购买 nike

我的应用程序中的通知图标遇到了一个奇怪的问题。

我的应用程序通过蓝牙发送和接收数据。当应用程序启动时,它会创建应用程序的通知图标 (icon.png)。然后它将看到没有连接蓝牙设备并将图标更改为 (warn.png)。问题是,当顶部的状态栏显示 warn.png 时,在正在进行的通知下拉菜单下,它有原始图标 (icon.png) 和文本“未连接蓝牙设备”。当蓝牙设备连接时,状态栏图标变回原始图标 (icon.png),但在持续通知下它有警告图标和消息“已建立连接”。

下面是我使用的代码:

private void notification_updates(String DISPLAY_TEXT, String ONGOING_TEXT, int ICON) {
Intent intent = new Intent(this,GUI.class);
intent.addFlags(intent.FLAG_ACTIVITY_NEW_TASK | intent.FLAG_ACTIVITY_SINGLE_TOP);

try
{
notification.setLatestEventInfo(Monitor.this, "App_Name",ONGOING_TEXT,
PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT));
notification.icon = ICON;
notification.tickerText = DISPLAY_TEXT;
notification.flags = notification.FLAG_ONGOING_EVENT; //on going events
notification.flags += notification.FLAG_NO_CLEAR; //no clear.

mManager.notify(APP_ID, notification);

} catch(Exception e)
{
Log.e(TAG, "Failed to Notifiy the notification manager (create):\n" + e.toString());
}

最佳答案

尝试创建一个全新的通知,看看是否能正确更新内容 View 中的图标。

或者,如果这不适合您,请创建自定义内容 View :http://developer.android.com/guide/topics/ui/notifiers/notifications.html#CustomExpandedView

然后,在您的 RemoteViews 对象上,setImageViewResource 更新您的图标,setTextViewText 更新文本,并将 notification.contentView 设置为您的 RemoteViews 对象。我成功地正确更新了状态栏中的图标以及展开的任务栏中的图标/文本。

切线地,我注意到您的代码有 notification.flags += notification.FLAG_NO_CLEAR。我相信因为这是一个你想要 |= 而不是 += 的位掩码

关于Android开发通知图标问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4661843/

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