2015-04-01 2 views
1

У меня есть служба, которая играет подкаст. Я хочу, чтобы служба обнаруживала, когда пользователь нажимает паузу или играет со своего радиостанция BT, чтобы я мог остановить и запустить его. Для жизни я не могу понять, какой фильтр добавить к моему слушателю (myBroadcastReceiver не вызывается, когда я нажимаю кнопку BT).Android - Как слушать Bluetooth Pause/Play

IntentFilter intentFilters = new IntentFilter(); 
intentFilters.addAction(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED); 
intentFilters.addAction(Intent.ACTION_MEDIA_BUTTON); 
registerReceiver(myBroadcastReceiver, intentFilters); 

ответ

1

Вы попробуйте android.intent.action.VOICE_COMMAND

http://developer.android.com/reference/android/content/Intent.html#ACTION_VOICE_COMMAND

попробовать также настройки вашего намерение приоритета фильтра в какое-то сумасшедшее большом числе в случае, если некоторые другие приложения отменяют трансляцию.

+0

Да, это тоже не удавалось. Мой звук играет очень хорошо, однако, когда я нажимаю кнопку воспроизведения на устройстве BT, начинает воспроизводиться как мой подкаст, так и первая песня в музыкальном плейлисте моего устройства. – justdan0227

+0

Установите высокий приоритет, чтобы ваше приложение получило его первым. И отмените трансляцию после того, как вы сделали это, чтобы другое приложение не получало ее. – roostertech

+0

Я очень ценю предложения @roostertech, но все равно не повезло. Не могу поверить, что нет примера для приемника bluetooth, который захватывает кнопку PLAY/PAUSE. Я пытался и ничего не видел с Log.v в начале приемника aimFilters.addAction (BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED); aimFilters.addAction (BluetoothDevice.ACTION_FOUND); intentFilters.setPriority (1000); – justdan0227

Смежные вопросы