ヘッドホンが抜かれたことを検知する
Intentが飛んでくるので受信しましょう。
AudioManager.ACTION_AUDIO_BECOMING_NOISY
AudioManager.ACTION_AUDIO_BECOMING_NOISY
サンプル
private static IntentFilter filter = new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY); private static BroadcastReceiver onBecomingNoisy = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //ヘッドホンが抜かれた時の処理 } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); registerReceiver( onBecomingNoisy , filter ); } @Override protected void onDestroy(){ super.onDestroy(); unregisterReceiver( onBecomingNoisy ); }
まとめ
ヘッドフォンが抜かれてしまい、スピーカから音がなろうとするとき、AudioManager.ACTION_AUDIO_BECOMING_NOISYがIntentで飛んできます。
受信すれば、そのときに何らかの処理をすることができます。