我看到无法在 list 中注册多个广播(例如 ACTION_TIME_TICK),必须通过 Context.registerReceiver()
显式注册。我在使用 ACTION_USER_PRESENT 时遇到问题广播 Intent 。具体来说,我在模拟器上进行了测试,我的应用程序一直强制关闭并出现错误:
08-30 09:44:23.397: ERROR/AndroidRuntime(290): java.lang.RuntimeException: Unable to start receiver me.turnerha.RegisterListeners: java.lang.IllegalArgumentException: Receiver not registered: me.turnerha.RegisterListeners@43d05690
这是由于
08-30 09:44:23.397: ERROR/AndroidRuntime(290): Caused by: java.lang.IllegalArgumentException: Receiver not registered: me.turnerha.RegisterListeners@43d05690
我的 list 非常简单:
<receiver android:name=".RegisterListeners">
<intent-filter>
<action android:name="android.intent.action.SCREEN_ON" />
</intent-filter>
</receiver>
有什么想法吗?我本质上是在尝试创建一个在我的应用程序安装后尽快被唤醒的接收器。第一次被唤醒时,它会注册一些监听器,然后自行注销,这样就不会再被调用。 (我真的希望在您的应用程序安装后立即触发一个 Intent ,以便进行一些设置 :) )
最佳答案
正确 - ACTION_SCREEN_ON
和 ACTION_USER_PRESENT
都不能在 list 中注册。我有 filed a documentation bug关于这个问题。
关于android - ACTION_USER_PRESENT BroadcastReceiver 不能在 list 中注册吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3601014/