После прочтения руководства по Android and some posts здесь я внедрил простое решение для захвата события HEADSET UNPLUG на моем планшете под управлением Android 2.3.3.ACTION_AUDIO_BECOMING_NOISY не записывается
К сожалению, кажется, что у меня что-то отсутствует, так как событие onReceive() никогда не захватывается.
Бельего внедренный код:
public class MusicIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(android.media.AudioManager.ACTION_AUDIO_BECOMING_NOISY)) {
Toast.makeText(context, "Headphones disconnected.", Toast.LENGTH_SHORT).show();
}
}
}
И андроид файл манифеста:
<receiver android:name=".MusicIntentReceiver">
<intent-filter>
<action android:name="android.media.AUDIO_BECOMING_NOISY" />
</intent-filter>
</receiver>
Что мне не хватает?
вопрос, который я бегу в с том, что это HEADSET_PLUG триггеры на каждом OnCreate из Активность, поэтому я получаю много ложных срабатываний, когда у меня нет подключенных наушников. – wblaschko
Вам необходимо зарегистрироваться на onResume и отменить регистрацию on onPause –