【问题标题】:How to find application which launched a statusBar notification如何找到启动状态栏通知的应用程序
【发布时间】:2012-06-14 05:08:54
【问题描述】:

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

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

【问题讨论】:

  • 这是在库存/零售设备上,还是在 AOSP 源代码树中工作?
  • 嗨,我需要在 Android 手机上找到它。库存/零售设备对查找有影响吗?我没有处理任何 AOSP,这是我对通知的一般查询。

标签: android notifications statusbar


【解决方案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;
}
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多