我正在写一个程序,捕捉耳机按钮然后做不同的事情取决于多久,你有多少次按它。去api level 21. Android 5.0。 所以我可以赶上按钮按下,但是当启动一个MP3播放器,然后它开始捕捉按钮按下。我怎样才能防止呢? 第二个问题你如何恢复暂停的MP3,其和其他程序不是我的程序播放MP3。耳机按钮控制Android 5.0
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);
可能无法阻止其他程序将听众放在按钮上。你也许可以听新的听众,然后删除他们,但我不知道这是否可能。 Idk如果劫持按钮甚至是一个好主意。可能勾选将其用于音乐的用户。 – Carcigenicate
Thx回答。诀窍可能是您需要重新绑定它。但你如何发现它被盗?用户可以设置按钮的功能,然后将其设置为播放音乐,然后播放音乐。它有点像这个程序,但想做更多的选择。 https://play.google.com/store/apps/details?id=com.kober.headset&hl=zh-CN – user2773829
有没有办法获得可变列表的听众?可以直接操纵它。 – Carcigenicate