use*_*081 5 android notification-listener
我正在使用通知侦听器来暂停不需要的通知,但是一旦我的应用不再运行,我该如何取消暂停这些通知?目前,我发现这样做的唯一方法是用户必须重新启动他们的手机。
这就是我getSnoozedNotifications暂停通知的方式,我发现我可以用来获取暂停的应用程序列表,但是取消暂停它的命令是什么?
snoozeNotification(sbn.getKey(), Long.MAX_VALUE - System.currentTimeMillis());
Run Code Online (Sandbox Code Playgroud)
这就是我获得暂停应用程序的方式,我找不到任何告诉我取消暂停它的命令的地方,我什至尝试将持续时间设置为0.
private void clearSnoozedNotifications()
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
StatusBarNotification sbns[] = getSnoozedNotifications();
for (StatusBarNotification sbn : sbns) {
try {
if (sbn == null) {
Log.e("Notification Listener", "sbn is null");
return;
}
Log.e("Notification Listener", "Starting: " + sbn.getKey());
snoozeNotification(sbn.getKey(), 0);
} catch (Exception e) {
Log.e("Notification Listener", "error: " + e.getMessage());
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在 Android 11 上观察到,您可以通过在同一键上调用 snoozeNotification 并使用大于零的低持续时间数字来恢复通知。
例如我使用以下内容:
snoozeNotification(key, 100L);
Run Code Online (Sandbox Code Playgroud)
在早期版本的 Android 上,通知将在暂停后重新启动后重新出现,而在 Android 11 中则不会。
| 归档时间: |
|
| 查看次数: |
829 次 |
| 最近记录: |