3

有没有找到负责状态栏通知的应用程序?

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

4

1 回答 1

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;
}
}
于 2012-06-26T08:49:43.400 回答