avatarHasper Ong

Summarize

Android check Headphones plugged in

  1. Check Headphones is plugged in?
BroadcastReceiver broadcastReceiver;
boolean Microphone_Plugged_in = false;

private void checkHeadphones(){
  boolean check = isHeadphonesPlugged(this);
  if(!check){
      Toast.makeText(this, "Please plug in your headset", Toast.LENGTH_SHORT).show();
      return;
  }
  
  broadcastReceiver = new BroadcastReceiver() {
      @Override
      public void onReceive(Context context, Intent intent) {
          final String action = intent.getAction();
          int iii;
          if (Intent.ACTION_HEADSET_PLUG.equals(action)) {
              iii = intent.getIntExtra("state", -1);
              if (iii == 0) {
                  Microphone_Plugged_in = false;
                  iv_alert.setVisibility(View.VISIBLE);
                  Toast.makeText(getApplicationContext(), "microphone not plugged in", Toast.LENGTH_LONG).show();
              }
              if (iii == 1) {
                  Microphone_Plugged_in = true;
                  Toast.makeText(getApplicationContext(), "microphone plugged in",
                          Toast.LENGTH_LONG).show();
                  playTone.play(false, 1000, 0.02, 2000);
                  repeatPlay();
              }
          }
      }
  };
  IntentFilter receiverFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
  registerReceiver(broadcastReceiver, receiverFilter);
}

private boolean isHeadphonesPlugged(Activity activity){
      AudioManager audioManager = (AudioManager)activity.getSystemService(Context.AUDIO_SERVICE);
      AudioDeviceInfo[] audioDevices = audioManager.getDevices(AudioManager.GET_DEVICES_ALL);
      for(AudioDeviceInfo deviceInfo : audioDevices){
          if(deviceInfo.getType()==AudioDeviceInfo.TYPE_WIRED_HEADPHONES
                  || deviceInfo.getType()==AudioDeviceInfo.TYPE_WIRED_HEADSET){
              return true;
          }
      }
      return false;
  }

2. OnPause clear the receiver

@Override
protected void onPause() {
    super.onPause();
    unregisterReceiver(broadcastReceiver);
}

THE END

Headphones
Android App Development
Android Java
Recommended from ReadMedium