android - 从其他应用程序的通知栏中删除通知

标签 android android-notifications android-notification-bar

我想从通知栏中显示的另一个应用程序中删除通知。那可能吗? NotificationManager.cancelAll(); 据我所知,仅取消调用应用程序显示的通知。

我为什么要这样做?

我有一个通过网页读取和发送 SMS 的应用程序,我希望该应用程序与现有的 SMS 应用程序(如 Handcent SMS)共同退出。我希望它的工作方式是,当通过网页阅读新收到的短信时,我想取消 Handcent SMS 显示的新短信通知,因为现在已阅读新短信。我将 SMS 标记为已读,一旦我打开 Handcent SMS,Handcent SMS 将其识别为已读,但通知仍然存在,直到我点击实际 SMS。

有两个场景; 1号:

  1. Android 设备收到一条短信。
  2. Handcent SMS 会显示通知。
  3. 用户在设备上阅读短信。
  4. Handcent SMS 删除通知并将 SMS 标记为已读。

情景 2:

  1. Android 设备收到一条短信。
  2. Handcent SMS 会显示通知。
  3. 用户通过网页界面阅读短信。
  4. 我的应用程序清除 Handcent SMS 显示的新 SMS 通知并将 SMS 标记为已读。

这可能吗?

最佳答案

从 Android 4.3 开始,您现在可以取消来自任何应用的通知。

您需要将您的应用注册为 NotificationListenerService ,然后调用 NotificationListenerService.cancelNotification(String pkg, String tag, int id) 取消一个通知。

关于android - 从其他应用程序的通知栏中删除通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5235776/

相关文章:

java - Realm 以及 Android 库项目

android - 使用 Switch 语句处理按钮点击

android - 在 Android 中启用所有通知权限

android - 无法将 Activity 作为方法中的参数传递

android - Activity 内的通知栏(或类似的)

android - 如何以编程方式在 Android 中打开/关闭通知?

Android 模拟器只打开一次通知栏

java - Android - loopJ AsyncHttpClient 返回响应 onFinish 或 onSuccess

android - 带有操作按钮的推送通知不起作用

android - 在 API < 26 中使用 XML 中的字体