AccessibilityService随机工作?

时间:2015-11-14 18:13:39

标签: android accessibilityservice

我正在使用app,需要知道通知何时到达。我使用accessibilityservice来完成这项任务。

当我授予我的自定义辅助功能服务(进入辅助功能 - > MyApp - > ON)时,会调用onServiceConnected,并且一切正常。我的应用收到了活动..

但过了一段时间(比如一个小时左右),我的应用程序停止收到有关新通知的通知。我必须禁用AccesibilityService并再次启用它才能工作。

当然这是不可接受的,因为用户不会每次都这样做..

以下是我的代码。

  @Override
protected void onServiceConnected() {
    super.onServiceConnected();


    AccessibilityServiceInfo info = new AccessibilityServiceInfo();
    info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
    info.packageNames = null;
    info.feedbackType = AccessibilityServiceInfo.DEFAULT;
    setServiceInfo(info);

}

和Manifest。

 <!-- Accesibility Service Declaration below -->

    <service android:name="services.MyAccessibilityService"
        android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
        <intent-filter>
            <action android:name="android.accessibilityservice.AccessibilityService" />

        </intent-filter>
    <meta-data android:name="android.accessibilityservice" android:resource="@xml/service_request" />

    </service>

出于测试目的,我使用的是在KitKat Android OS上运行的HTC One M7。那么为什么我的应用在一段时间后停止接收通知?任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:0)

我认为建议的用法是使用NotificationListener而不是AccessibilityService来检测通知

https://developer.android.com/reference/android/service/notification/NotificationListenerService.html