19

我在 android 4.4 中使用通知侦听器服务,我遇到了一个错误,导致我的应用程序停止接收发布的通知。

这是相当随机的,但是当它发生时,我看到:

12-31 01:40:44.080  21680-21680/? W/ContextImpl﹕ Calling a method in the system process without a qualified user: 
android.app.ContextImpl.sendOrderedBroadcast:1192 
android.app.ContextImpl.sendOrderedBroadcast:1183       
android.content.ContextWrapper.sendOrderedBroadcast:390 
com.android.settings.applications.ProcessStatsDetail.checkForceStop:314 
com.android.settings.applications.ProcessStatsDetail.onResume:108

在日志中。我什至可以通过在手机上输入开发人员工具的“进程统计”部分来重新创建它。一旦我选择了一个使用通知侦听器的应用程序,就会发出此警告并取消绑定并销毁服务,并且当它重新创建时,它并不总是再次接收事件。

我不确定为什么会发生这种情况,任何人都可以阐明吗?

4

2 回答 2

8

1) NotificationListenerService 由系统启动,如果系统进程调用了sendOrderedBroadcast的代码(此处) ,则会引发警告

2)这只是一个警告。您的代码中的其他地方可能存在崩溃。当NotificationListenerService崩溃时,除非您切换权限或重新启动手机,否则 Android 不会重新启动它。寻找另一个崩溃并尝试其中任何一种方法来重新启动它(如果有的话)。自己启动是行不通的。

于 2013-12-31T01:55:02.633 回答
0

检查您的 AIDL 包名称,对我来说,客户端和服务器中的包名称不匹配。希望它可以帮助某人

于 2021-04-15T09:20:58.797 回答