如何找到启动statusBar通知的应用程序

时间:2012-06-14 05:08:54

标签: android notifications statusbar

无论如何找到负责statusBar通知的应用程序?。

一种查找方法是选择通知图标。但是,如果应用程序没有添加启动器,它将很难找到。如果您知道其他任何找到它的方法,请告诉我。谢谢。

1 个答案:

答案 0 :(得分:1)

我已经在Detect a new Android notification中发布了答案:

您需要注册AccessibilityService并确保用户启用该服务。

服务示例:

public class InstantMessenger extends AccessibilityService {

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
    if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
        //Do something, eg getting packagename
        final String packagename = String.valueOf(event.getPackageName());  
}
}

@Override
protected void onServiceConnected() {
    if (isInit) {
        return;
    }
    AccessibilityServiceInfo info = new AccessibilityServiceInfo();
    info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
    info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
    setServiceInfo(info);
    isInit = true;
}

@Override
public void onInterrupt() {
    isInit = false;
}
}