Я делаю приложения с помощью обработчика ACTION_MEDIA_BUTTON, но это, кажется, что всегда перехвачен MX-плеер или Apollo, и я не получаю IntentBroadcast приемник наивысший приоритет не работает
Я попытался как 1000 и 2147483647 приоритет набор в теге и непосредственно после конструкторы с SetPriority
приложения работает, когда нет MX-плеера или Apollo присутствует
Я также попытался с помощью гарнитуры перехватчик приложения из Google Play, я пытался отрицать события в MX-плеер с приложением автозапуска - ничего не помогает
в OnCreate:
IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
filter.addAction(Intent.ACTION_HEADSET_PLUG);
filter.setPriority(1000);
registerReceiver(receiver, filter);
в приемник
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {
// NEVER REACHES HERE WHEN MX PLAYER PRESENT. WORKS IF NOT
манифеста
<receiver
android:name="BCreceiver"
android:enabled="true">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.MEDIA_BUTTON" />
<action android:name="android.intent.action.HEADSET_PLUG" />
</intent-filter>
</receiver>
Образец кода был бы полезен. – Egor
добавлены образцы кода, но они довольно стандартные –
Пожалуйста, используйте 'android: priority =" 999 "' или меньше; 'SYSTEM_HIGH_PRIORITY'' Постоянное значение: 1000' 'Приложения никогда не должны использовать фильтры с такими или более приоритетными приоритетами.' – Benny