我需要一些帮助来了解我的广播接收器何时可以在刚刚在清单中注册而不是必须从正在运行的活动或服务中注册时工作。
因此,例如,如果我使用以下意图过滤器注册一个独立的接收器,它可以在没有服务/活动引用的情况下工作:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.blk_burn.standalonereceiver"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<receiver android:name="TestReceiver">
<intent-filter>
<action android:name="android.media.AUDIO_BECOMING_NOISY"/>
</intent-filter>
</receiver>
</application>
</manifest>
但是,如果我android.media.AUDIO_BECOMING_NOISY
用android.intent.action.HEADSET_PLUG
接收器替换不会触发(Android 文档)
根据我在本网站上找到的内容,您必须从已经运行的活动或服务中注册此接收器才能使其工作(发布)。
谁能告诉我为什么在清单中调整您的意图过滤器时这不起作用,以及为什么您需要在后台运行一个引用/注册接收器的服务?
是否有解决方法,以便我可以使用意图过滤器在我的应用程序清单中注册我的接收器
android.intent.action.HEADSET_PLUG
?如何识别android 文档中的哪些广播操作需要服务或活动注册它们,而不是在清单中使用正确的过滤器?