我正在开发需要知道通知何时到达的应用程序。我正在使用可访问性服务来完成这项任务。
当我授予我的自定义可访问性服务权限(转到 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 OS 上运行的 HTC One M7。那么为什么我的应用在一段时间后停止接收通知?任何帮助将非常感激!