【问题标题】:Android: Event ACTION_POWER_CONNECTED is not sent to my BroadcastReceiverAndroid:事件 ACTION_POWER_CONNECTED 未发送到我的 BroadcastReceiver
【发布时间】:2010-01-20 19:43:26
【问题描述】:

我想在手机放入充电器后做点什么。所以我 创建ChargingOnReciever:

public class ChargingOnReceiver extends BroadcastReceiver { 
    public void onReceive(Context context, Intent intent) { 
        context.startActivity(someActivity);
        Log.d(TAG, "Phone was connected to power");
    } 
} 

我想让我的接收器收听android.intent.action.ACTION_POWER_CONNECTED,所以我把它放到清单中:

<reciever android:name=".ChargingOnReceiver"
          android:enabled="true"
          android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
    </intent-filter>
</reciever>

但是当我将 G1 放入充电器时,ChargingOnReceiver 显然没有启动 (通过 USB 线连接到我的笔记本电脑)。任何帮助深表感谢。

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    它是接收器,而不是接收器!我花了 5 个小时才找到这个愚蠢的错误。我认为 Android Eclipse 插件应该在清单 xml 中进行一些语法检查。

    【讨论】:

    • 我也在这个问题上浪费了一天的时间
    【解决方案2】:

    对于任何试图为“android.intent.action.ACTION_POWER_CONNECTED”和“android.intent.action.ACTION_POWER_DISCONNECTED”注册接收器的人,我想补充一点:

    作为 Android 8.0(API 级别 26)后台执行限制的一部分, 针对 API 级别 26 或更高级别的应用程序无法再注册 清单中隐式广播的广播接收器。 但是,目前有一些广播不受这些限制 限制。应用程序可以继续为豁免对象注册监听器 广播,无论应用的目标 API 级别如何。

    以上两个广播不再在这些豁免广播的列表中。请参考以下文档:

    https://developer.android.com/guide/components/broadcast-exceptions

    【讨论】:

    • 现在接收这些活动的最佳选择是什么?
    【解决方案3】:
    1. 不要从BroadcastReceiver 开始活动。

    2. 您在插入 USB 电缆时检查过 LogCat 以查看是否有任何记录的消息可以解释您的问题?

    【讨论】:

    • 1.我开始活动只是为了测试目的,看看是否调用了 onReceive。 2. 不幸的是,我在日志消息中找不到任何有用的信息...
    • @CommonsWare 你能解释一下为什么我们不应该从广播接收器开始活动
    • @user3233280:如果您弹出一个不基于用户输入的活动,那么这很少是用户想要的。如果你打断他们的游戏,用户可能会非常恼火,如果你打断他们的导航应用程序,他们可能会非常生气。如果不出意外,请使用全屏Notification
    • @CommonsWare 你能告诉我我要显示 toast 但是我没有从活动中注册接收者,而我已经在我的 manfiest 中注册了我使用上下文但我的应用程序从 onRecive() 开始活动/显示 toast关闭我认为上下文是空的,这就是为什么它崩溃了如果我在清单中注册接收者,我怎么能得到上下文?
    【解决方案4】:

    在文档中,写android.intent.action.POWER_CONNECTED 而不写ACTION_

    【讨论】:

    • 应该是。我不明白你要说什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多