【问题标题】:AccessibilityService works at random?AccessibilityService 随机工作?
【发布时间】:2016-09-01 10:40:48
【问题描述】:

我正在开发需要知道通知何时到达的应用程序。我正在为这项任务使用无障碍服务。

当我授予我的自定义可访问性服务权限时(转到 Accessibility-> 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);

}

和清单。

 <!-- 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 操作系统上运行的 HTC One M7。那么为什么我的应用在一段时间后停止接收通知?任何帮助将不胜感激!

【问题讨论】:

    标签: android accessibilityservice


    【解决方案1】:

    我相信现在建议的用法是使用 NotificationListener 而不是 AccessibilityService 来检测通知

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-04
      • 1970-01-01
      • 2022-07-15
      • 2014-04-11
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多