У меня есть этот код для обработки щелчков на кнопках от наушников. Проблема в том, что мой приоритет низкий, и когда я нажимаю кнопку, радио включается. Я хочу уделить приоритет моему приложению. Я попытался увеличить число setPriority, но он не работает.Как обращаться с кнопками на наушники?
public class MediaButtonIntentReceiver extends BroadcastReceiver {
public MediaButtonIntentReceiver() {
super();
}
@Override
public void onReceive(Context context, Intent intent) {
String intentAction = intent.getAction();
if (!Intent.ACTION_MEDIA_BUTTON.equals(intentAction)) {
return;
}
KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (event == null) {
return;
}
int action = event.getAction();
if (action == KeyEvent.ACTION_MULTIPLE) {
// do something
Toast.makeText(context, "BUTTON PRESSED!", Toast.LENGTH_SHORT).show();
}
abortBroadcast();
}
// Код в другом классе
IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);//"android.intent.action.MEDIA_BUTTON"
MediaButtonIntentReceiver r = new MediaButtonIntentReceiver();
filter.setPriority(1000); **//increasing this does not work**
registerReceiver(r, filter);
Вы пытаетесь получить мультимедийные кнопки в фоновом режиме или только тогда, когда ваше приложение находится на переднем плане? Вы строите мультимедийное приложение или что-то еще? – ianhanniballake
Только когда мое приложение находится на переднем плане ... Я создаю что-то, когда при нажатии кнопки отправляет сообщение Toast в мое приложение – Jose