Я пытаюсь сделать свое приложение, в котором вы можете изменить действия, которые происходят, когда вы, например, дважды нажимаете кнопку на ваших наушниках. Я пытаюсь сделать это, получая действия 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>
Согласно некоторым другим источникам это должно сделать обмануть. Но это не похоже на работу для меня. Что здесь не так?