gpt4 book ai didi

android - 广播接收器没有收到 Intent

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:22 31 4
gpt4 key购买 nike

我有两个可以完全控制的应用程序。两者都使用相同的证书签名,并且都使用完全相同的 Intent 过滤器。一个从 fragment 发送广播,另一个假设接收它并做一些事情。然而,这不起作用:

Strings.FILTER_INIT_REGISTER = "com.app.FILTER_INIT_REGISTER"

Intent intent = new Intent(Strings.FILTER_INIT_REGISTER);
getActivity().sendBroadcast(intent);

我已经在包含 ReportingReceiver 类的应用程序的 list 应用程序标签中注册了接收器:

<receiver             
android:name=".receivers.ReportingReceiver"
android:exported="true"
>
<intent-filter>
<action android:name="com.app.FILTER_INIT_REGISTER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>

好奇为什么 ReportingReceiver 类没有收到 Intent 调用?

最佳答案

如果您的应用程序只有服务和接收器,那么这在 Android 3.1 及更高版本中将不起作用。原因是系统不会向处于STOPPED STATE 的应用程序发送广播 Intent。应用程序在首次安装时处于STOPPED STATE。当用户第一次手动启动应用程序时,它会从STOPPED STATE 中移除。如果用户强制应用程序停止使用应用程序管理器工具,它将返回到STOPPED STATE

由于您的应用程序没有 Activity ,因此用户无法“启动”它。因此它永远不会退出停止状态。

参见 http://developer.android.com/about/versions/android-3.1.html#launchcontrols

关于android - 广播接收器没有收到 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12785412/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com