我正在使用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
在日志中,我甚至可以通过进入手机上的“进程统计”部分来重新创建这个问题。只要我选择一个使用通知监听器的应用程序,它就会出现这个警告并且解除绑定和销毁服务,当它重新创建时,并不总是能够再次捕获事件。
我不确定为什么会发生这种情况,有人能解释一下吗?
ContextImpl
的警告引起的(如果您想要摆脱警告,请使用sendBroadcastAsUser
进行重写 - 请参见https://dev59.com/gGQo5IYBdhLWcg3wfPbK#18224021)。 - pevik