android - 如何找到启动状态栏通知的应用程序

标签 android notifications statusbar

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

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

最佳答案

我已经在 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;
}
}

关于android - 如何找到启动状态栏通知的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11026972/

相关文章:

java - 如果触摸通知,通知就会消失

android - 以编程方式检查 Android 系统安全通知访问设置

java - Android Java - 广播接收器 - 应用程序通知

ios - 状态栏颜色与 Pixate

android - 从 Android 原生计算器获取结果

Android:单击搜索时,ActionBar 图标和导航下拉菜单之间的边距会发生变化

android - 亚行状态下线

java - java中如何避免在循环中频繁创建对象?

excel - 使用VBA停止求解器更新状态栏

xcode - didenterbackground 后如何更改状态栏?