心魅 - cocoromi -

半角スペース時々全角

ヘッドホンが抜かれたことを検知する

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で飛んできます。
受信すれば、そのときに何らかの処理をすることができます。