onNotificationPosted在一段时间后没有被调用

时间:2017-11-14 20:40:16

标签: java android notifications listener

我使用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 Lollipop,Marshmallow和Nougat上测试过,结果相同。
  • 它已经在运行相同Android版本的不同设备上进行了测试。
  • 应用停止在屏幕上显示的背景和活动中工作。
  • 如果我重新安装该应用程序,它会再次运行,但这已经包含在&#39;撤销和再次授予通知访问权限中。前面提到的。
  • 应用包括底部的AdMob横幅,是否可能出现问题?

我读过Android有缓存问题或类似的东西。这是问题吗?是否有任何我无法在任何地方找到的永久性解决方案?

1 个答案:

答案 0 :(得分:1)

我在这里找到答案: https://gist.github.com/xinghui/b2ddd8cffe55c4b62f5d8846d5545bf9

只需在上面的链接中创建一个新类,然后输入onCreate

startService(new Intent(this, NotificationCollectorMonitorService.class));

在AndroidManifest中:

<service android:name=".NotificationCollectorMonitorService"/>

每当Android杀死它时,这将重启NotificationListenerService。