gpt4 book ai didi

android - 在没有 Activity 的情况下启动应用程序,我的广播接收器不工作

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

在我的应用程序中,我有一个广播接收器用于接收发送到我手机的消息

<receiver
android:name="com.qmobile.ows.SMS_Receiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>

如果我使用 Activity GUI 启动应用程序,BroadCast Receiver 会正常工作。

我想在没有 Activity 的情况下启动我的应用程序并且不显示图标应用程序,所以我从我的 Activity 中删除下面的代码

 <intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

之后,Broadcast Receiver 不再工作。

请帮我解决这个问题。

最佳答案

这是因为 Android 操作系统不允许 BroadcastReceiver 接收一些重要的广播(android.provider.Telephony.SMS_RECEIVED 必须是其中之一它)如果应用程序的进程不存在。它旨在对抗邪恶的应用程序。如果你有一个 Activity 在运行,你的进程是活跃的,所以你的接收器被允许接收广播。

我认为你可以制作一个透明 activity 并使用startService 在后台启动一个service,然后完成activity.当你的服务正在运行时,你的进程是活跃的,所以 Android 操作系统会让你接收广播。

关于android - 在没有 Activity 的情况下启动应用程序,我的广播接收器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22318161/

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