Headphone button control Android 5.0 -


i writing program catches headphone button presses different things depending how long , how many times press it. going api level 21. android 5.0. can catch button press, when start mp3 player start catching button presses. how can prevent that? second question how resume paused mp3, , other program not program playing mp3.

 audiosession = new mediasession(getapplicationcontext(), "tag11");     mscallback=     new mediasession.callback() {          @override         public boolean onmediabuttonevent(final intent mediabuttonintent) {             string intentaction = mediabuttonintent.getaction();             log.i("onmediabuttonevent", intentaction );             if (intent.action_media_button.equals(intentaction)) {                 keyevent event = mediabuttonintent.getparcelableextra(intent.extra_key_event);                  if (event != null) {                     if(toast!=null){                         toast.cancel();                     }                     toast = toast.maketext(getapplicationcontext(), "headsetbutton press", toast.length_short);                     toast.show();                 }             }             return super.onmediabuttonevent(mediabuttonintent);         }       };     audiosession.setcallback(mscallback);      playbackstate state = new playbackstate.builder()             .setactions(playbackstate.action_play_pause)             .setstate(playbackstate.state_playing, 0, 0, 0)             .build();     audiosession.setplaybackstate(state);     audiosession.setflags(mediasession.flag_handles_media_buttons | mediasession.flag_handles_transport_controls);      audiosession.setactive(true); 

in order listen media key events declare broadcast reciever in manifest file so

<receiver android:name=".remotecontrolreceiver">         <intent-filter>             <action android:name="android.intent.action.media_button" />         </intent-filter>     </receiver> 

in remotecontrolreceiver class extend broadcastreceiver , extract key event , key code so

 @override public void onreceive(context context, intent intent) {     log.d(tag, "onreceive: ");     if (intent.action_media_button.equals(intent.getaction())) {         keyevent event = intent.getparcelableextra(intent.extra_key_event);         int keycode = event.getkeycode();      } } 

the basic button on every headset pause/play button


Comments

Popular posts from this blog

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

jsf - "PropertyNotWritableException: Illegal Syntax for Set Operation" error when setting value in bean -

arrays - Algorithm to find ideal starting spot in a circle -