android - ACTION_USER_PRESENT BroadcastReceiver 不能在 list 中注册吗?

标签 android android-manifest broadcastreceiver

我看到无法在 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_ONACTION_USER_PRESENT 都不能在 list 中注册。我有 filed a documentation bug关于这个问题。

关于android - ACTION_USER_PRESENT BroadcastReceiver 不能在 list 中注册吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3601014/

相关文章:

java - BroadcastReceiver onReceive 用于聊天功能

android - 使用 Broadcast Receiver 捕捉来电,onReceive 没有被触发?

Android Intent 排除特定文件扩展名?

java - Android:执行查询时出错(跳过 * 帧)

android - 如何构建符合 Google Play 64 位要求的 NativeScript Vue 应用程序?

Android Wifi 硬件模块

android - 在 Android 中使用新的 "manifestmerger"属性

在基本模块中找不到动态功能模块中的 Android 提供程序

java - 应用程序被终止时,AlertDialog 不会出现在屏幕上

android - 在设置中配置 RetroFit BASE URL