我使用NotificationListenerService来捕获通知并在我的应用程序中详细说明。应用程序运行良好,onNotificationPosted总是被调用,但过了一会儿(几个小时)它停止被调用,应用程序停止工作。
只有在我重新启动设备或撤消并再次授予对应用程序的通知访问权限后,它才会恢复正常工作。
App确实在AndroidManifest上提供服务。
<service
android:name=".NotificationService"
android:label="@string/app_name"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService"/>
</intent-filter>
</service>
App是发布版本(虽然调试版本也存在相同问题)。
我读过Android有缓存问题或类似的东西。这是问题吗?是否有任何我无法在任何地方找到的永久性解决方案?
答案 0 :(得分:1)
我在这里找到答案: https://gist.github.com/xinghui/b2ddd8cffe55c4b62f5d8846d5545bf9
只需在上面的链接中创建一个新类,然后输入onCreate
:
startService(new Intent(this, NotificationCollectorMonitorService.class));
在AndroidManifest中:
<service android:name=".NotificationCollectorMonitorService"/>
每当Android杀死它时,这将重启NotificationListenerService。