Я пишу программу, которая ловит нажатие кнопки для наушников, а затем выполняет разные действия в зависимости от того, сколько времени и сколько раз вы нажимаете на нее. Переход на уровень api 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, если highjacking кнопка даже хорошая идея. Можете отметить своих пользователей, которые используют его для музыки. – Carcigenicate
Thx для ответа. Трюк может заключаться в том, что вам нужно перехватить его. Но как вы обнаружили, что он был украден? Пользователи могут установить, что кнопка делает, чтобы они установили ее для воспроизведения музыки, а затем она будет воспроизводить музыку. Его вроде как эта программа, но хотят сделать гораздо больше вариантов. https://play.google.com/store/apps/details?id=com.kober.headset&hl=ru – user2773829
Есть ли способ получить измененный список слушателей? Можно просто манипулировать этим напрямую. – Carcigenicate