我正在使用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。那么为什么我的应用在一段时间后停止接收通知?任何帮助都会非常感激!
答案 0 :(得分:0)
我认为建议的用法是使用NotificationListener而不是AccessibilityService来检测通知