2012-04-23 120 views
0

Android中是否有可能获取状态栏的状态,特别是添加了新通知?Android - >状态栏状态已更改

如果在状态栏中发生任何事情,它需要启动一个活动。我不是指“状态栏窗口”。

也许我可以用一个IntentFilter的一样:

IntentFilter statusBarIntentFilter = new IntentFilter(android.bla.bla.ACTION_STATUSBAR_STATE_CHANGED); 

谢谢至今在先进!

BR

回答

0

是否有possibily内的Android得到了状态栏的状态,尤其是新的通知加入呢?

不,对不起。您不能窥探Android SDK中的其他应用程序通知。

+0

嗨,感谢您的快速响应!它不是我的意图,窥探另一个应用程序的通知内容。我只想知道,如果一个新的符号或任何被添加到状态栏。之后我想开始各种活动。我可以使用AccessibilityService(AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED),但这需要相对较深的/危险的权限授权! – 2012-04-23 18:05:36

+1

@ReginaBalusz:恕我直言,你不应该因为显示通知而“开始各种活动”。通知背后的主要观点是** NOT **在后台发生注释事件时中断用户。是的,您可以使用辅助功能API来检测通知,但这些API背后的要点是提供辅助功能,而不会影响现有的应用程序流。突然冒出一项活动将被视为“干扰现有的应用程序流程”。 – CommonsWare 2012-04-23 18:18:08

+0

对于“请勿打扰其他应用程序的流程”,您完全正确!问题是我正在编写一个应用程序,它将监听发生的任何日历事件。不幸的是,没有IntentFilter,它可以用来收听日历触发的“Reminder-Events”。这个IntentFilter可以在BroadcastReceiver中使用。我确定的唯一方法是,日历应用程序在提醒的情况下向状态栏添加通知。所以我想要找出一种方式,被告知,一个新的通知被添加到STatus栏中。我想找一个替代品。 – 2012-04-23 18:46:27

0

Android中是否有可能获得状态栏的状态,特别是添加了新的通知?

您可以通过使用AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED侦听状态栏通知。

这是关于这个问题的StackOverflow answer,和here is a working example我把这个答案放在一起。实际上,我把这个例子放在一起,因为一个应用程序基本上是用广告向我妻子的通知栏发送垃圾邮件,并且没有明确的方式告诉谁是违规应用程序。

+0

示例应用域名已被删除 – codercat 2014-03-05 08:16:36

+0

@iDev我更新了链接。 – TomJ 2014-03-11 01:00:56