Android: не принимаются события мультимедийных кнопок - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь сделать свое приложение, в котором вы можете изменить действия, которые происходят, когда вы, например, дважды нажимаете кнопку на ваших наушниках. Я пытаюсь сделать это, получая действия MediaButton и как бы отменяя их. Что приводит к моему первому вопросу: правильный ли это подход для изменения действия, которое происходит при нажатии кнопки на наушниках? Если нет, какой подход я должен использовать?

Если это правильный подход, то кто-нибудь знает, почему я не получаю никаких действий MediaButton? Я попытался получить их, создав новый класс с именем MediaButtonIntentReceiver, который расширяется от BroadCastReceiver.

class MediaButtonIntentReceiver : BroadcastReceiver() {
    override fun onReceive(context: Context?, intent: Intent?) {
        Log.i("info", "Media Button Clicked")
        abortBroadcast()
    }
}

Затем я зарегистрировал получателя в манифесте

<!-- Media button receiver -->
<receiver android:name=".MediaButtonIntentReceiver">
    <intent-filter android:priority="1000000000" >
        <action android:name="android.intent.action.MEDIA_BUTTON" />
    </intent-filter>
</receiver>

Согласно некоторым другим источникам это должно сделать обмануть. Но это не похоже на работу для меня. Что здесь не так?

...