package com.sdsmdg.harjot.MusicDNA.headsethandler; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; import android.view.KeyEvent; /** * Created by Harjot on 06-Oct-16. */ public class HeadSetReceiver extends BroadcastReceiver { onHeadsetEventListener mCallback; public interface onHeadsetEventListener { void onHeadsetRemoved(); void onHeadsetNextClicked(); void onHeadsetPreviousClicked(); void onHeadsetPlayPauseClicked(); } @Override public void onReceive(Context context, Intent intent) { mCallback = (onHeadsetEventListener) context; if (intent.getAction().equals(Intent.ACTION_HEADSET_PLUG)) { int state = intent.getIntExtra("state", -1); switch (state) { case 0: mCallback.onHeadsetRemoved(); break; case 1: break; } } if (intent.getAction().equals(Intent.ACTION_MEDIA_BUTTON)) { KeyEvent event = (KeyEvent) intent .getParcelableExtra(Intent.EXTRA_KEY_EVENT); int keycode = event.getKeyCode(); int action = event.getAction(); Log.i("keycode", String.valueOf(keycode)); Log.i("action", String.valueOf(action)); //onKeyDown(keyCode, event) if (keycode == KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE || keycode == KeyEvent.KEYCODE_HEADSETHOOK) if (action == KeyEvent.ACTION_DOWN) mCallback.onHeadsetPlayPauseClicked(); if (keycode == KeyEvent.KEYCODE_MEDIA_NEXT) if (action == KeyEvent.ACTION_DOWN) mCallback.onHeadsetNextClicked(); if (keycode == KeyEvent.KEYCODE_MEDIA_PREVIOUS) if (action == KeyEvent.ACTION_DOWN) mCallback.onHeadsetPreviousClicked(); } } }