Cancel/dismiss 图标通知
Cancel/dismiss notification on icon
我正在使用 OneSignal 向我的用户显示通知。通知工作正常,但我注意到,如果我在通知栏中取消通知 "swiping",那么通知将永远保留,这是一张显示应用程序图标上的通知的图片,我想尽快关闭打开应用程序时:
我看到了这个问题,表明我可以通过以下方式关闭通知:
NotificationManager nMgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (nMgr!=null) {
nMgr.cancelAll();
}
但这取消了通知栏中的通知,但应用程序图标上的通知仍然存在,知道如何在我的应用程序打开后立即取消它吗?
编辑 1:
我在 OnCreate
中添加了上面的内容,也在 OnResume
中添加,如下面的答案所述,但是 1
仍然显示在应用程序图标上。
上面的代码是完美的,但是你需要做的是你需要在 onResume()
喜欢
@Override
protected void onResume() {
super.onResume();
NotificationManager nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
nm.cancelAll();
}
这对你有用。 :)
我发现使用 OneSignal 我可以通过在清单中添加以下内容来禁用徽章:
<application ...>
<meta-data android:name="com.onesignal.BadgeCount" android:value="DISABLE" />
</application>
从 8.0(API 级别 26)开始,可以通过调用 following:
来禁用通知徽章
String id = "my_channel_01";
CharSequence name = getString(R.string.channel_name);
String description = getString(R.string.channel_description);
int importance = NotificationManager.IMPORTANCE_LOW;
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
mChannel.setDescription(description);
mChannel.setShowBadge(false);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.createNotificationChannel(mChannel);
使用 this 库,我还可以在禁用它们后手动设置徽章编号。请注意,这仅支持某些制造的设备(三星、LG、索尼和 HTC)。
我正在使用 OneSignal 向我的用户显示通知。通知工作正常,但我注意到,如果我在通知栏中取消通知 "swiping",那么通知将永远保留,这是一张显示应用程序图标上的通知的图片,我想尽快关闭打开应用程序时:
我看到了这个问题,表明我可以通过以下方式关闭通知:
NotificationManager nMgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (nMgr!=null) {
nMgr.cancelAll();
}
但这取消了通知栏中的通知,但应用程序图标上的通知仍然存在,知道如何在我的应用程序打开后立即取消它吗?
编辑 1:
我在 OnCreate
中添加了上面的内容,也在 OnResume
中添加,如下面的答案所述,但是 1
仍然显示在应用程序图标上。
上面的代码是完美的,但是你需要做的是你需要在 onResume()
喜欢
@Override
protected void onResume() {
super.onResume();
NotificationManager nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
nm.cancelAll();
}
这对你有用。 :)
我发现使用 OneSignal 我可以通过在清单中添加以下内容来禁用徽章:
<application ...>
<meta-data android:name="com.onesignal.BadgeCount" android:value="DISABLE" />
</application>
从 8.0(API 级别 26)开始,可以通过调用 following:
来禁用通知徽章String id = "my_channel_01";
CharSequence name = getString(R.string.channel_name);
String description = getString(R.string.channel_description);
int importance = NotificationManager.IMPORTANCE_LOW;
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
mChannel.setDescription(description);
mChannel.setShowBadge(false);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.createNotificationChannel(mChannel);
使用 this 库,我还可以在禁用它们后手动设置徽章编号。请注意,这仅支持某些制造的设备(三星、LG、索尼和 HTC)。