2
アンドロイドデベロッパーガイドといくつかの記事を読んだ後、Android 2.3.3を実行しているタブレットでHEADSET UNPLUGイベントをキャプチャする簡単なソリューションを実装しました。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();
}
}
}
とAndroidマニフェストファイルに:
<receiver android:name=".MusicIntentReceiver">
<intent-filter>
<action android:name="android.media.AUDIO_BECOMING_NOISY" />
</intent-filter>
</receiver>
私は何をしないのですか?
を、私はこれでに実行している問題は、それがHEADSET_PLUGはANのすべてののonCreateにトリガしていることですアクティビティなので、ヘッドフォンが接続されていないと、誤検知が増えています。 – wblaschko
onResumeに登録してonPauseを登録解除する必要があります –