Регистрация приемника вещания в манифесте против активности

Мне нужна помощь, чтобы понять, когда я могу ожидать, что мой широковещательный приемник будет работать, когда он только что зарегистрирован в манифесте, по сравнению с необходимостью регистрации по работающей деятельности или службе.

Так, например, если я зарегистрирую автономного получателя со следующим фильтром намерений, он будет работать без ссылки на сервис / деятельность:

<?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)

Из того, что я нашел на этом сайте, вы должны зарегистрировать этого получателя для активности или службы, которая уже запущена для его работы (Сообщение).

Can anyone tell me why this does not work when just adjusting your intent filter in the manifest and why you need to have a service running in the background that references/registers the receiver?

Is there a work around so that I can just register my receiver in my app's manifest using an intent filter with android.intent.action.HEADSET_PLUG?

How can do I identify which Broadcast actions from the android documentation need to have a service or activity register them versus just having the right filter in the manifest?

Ответы на вопрос(2)

Ваш ответ на вопрос