在我的应用程序中,我有一个广播接收器,用于捕获发送到手机的消息
<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>
如果我使用活动 GUI 启动应用程序,广播接收器将正常工作。
我想在没有活动的情况下启动我的应用程序并且不显示图标应用程序,所以我remove下面的代码来自我的活动
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
之后,广播接收器就不起作用了。
请帮我解决这个问题。
这是因为Android操作系统不允许BroadcastReceiver
受到一些重要的播送(android.provider.Telephony.SMS_RECEIVED
一定是其中之一)如果应用程序的进程不存在。它旨在对抗邪恶的应用程序。如果您正在运行某个活动,则您的进程处于活动状态,因此您的接收器可以接收广播。
我想你可以做一个透明的 activity
并使用 startService 来启动service
在后台,然后完成activity
当你的服务正在运行时,你的进程是活动的,所以Android操作系统会让你接收广播。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)