Android 从其他应用程序的通知栏中删除通知
我想从通知栏中显示的另一个应用程序中删除通知。可能吗<代码>NotificationManager.cancelAll()据我所知,代码>仅取消调用应用程序显示的通知 我为什么要这样做 我有一个通过网页阅读和发送短信的应用程序,我希望这个应用程序与现有的短信应用程序(如Handcent SMS)共存。我希望它的工作方式是,当通过网页阅读新收到的短信时,我想取消Handcent短信显示的新短信通知,因为新短信现在已被阅读。我将短信标记为已读,一旦打开Handcent短信,Handcent短信会将其识别为已读,但在我点击实际短信之前,通知仍然存在 有两位参议员;第一:Android 从其他应用程序的通知栏中删除通知,android,android-notifications,android-notification-bar,Android,Android Notifications,Android Notification Bar,我想从通知栏中显示的另一个应用程序中删除通知。可能吗NotificationManager.cancelAll()仅取消调用应用程序显示的通知 我为什么要这样做 我有一个通过网页阅读和发送短信的应用程序,我希望这个应用程序与现有的短信应用程序(如Handcent SMS)共存。我希望它的工作方式是,当通过网页阅读新收到的短信时,我想取消Handcent短信显示的新短信通知,因为新短信现在已被阅读。我将短信标记为已读,一旦打开Handcent短信,Handcent短信会将其识别为已读,但在我点击实
这可能吗?您可以使用取消自己的通知。
但你不能取消其他应用程序的通知,这是不可能的。从Android 4.3开始,你现在可以取消任何应用程序的通知
您需要将您的应用注册为,然后调用NotificationListenerService。cancelNotification(String-pkg、String-tag、int-id)取消一个通知。您可以使用NotificationListenerService关闭任何通知:
public class NotificationListener extends NotificationListenerService {
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
cancelNotification(sbn.getKey());
}
}
应用程序必须具有绑定\通知\侦听器\服务权限。
你为什么要这么做?我当然不希望任何应用窃取我的通知。阿米尔,我告诉过你为什么在“我为什么要这样做?”:)。@johboh你现在可以取消其他应用程序的通知了。请注意,创建NotificationListenerService实例并调用cancelNotification()将导致NullPointerException。您必须扩展NotificationListenerService并启动该服务,然后从该服务中取消通知。我在onNotificationPosted()中运行了它,但它不会取消它。你能看一下吗?请注意,由于棒棒糖,这种方法已被弃用,它的签名已更改,正如@QuadX在下面的答案中所指出的,我有点困惑。谁的答案是正确的?你的,还是“绿洲风”?