小编Ale*_*ino的帖子

如何在Oreo中注册Broadcast Receiver for media按钮?

我有新的Android版本的问题,即8.0(奥利奥).我必须注册广播,我使用以下代码执行此操作:

// android.intent.action.MEDIA_BUTTON
IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
r = new MediaButtonIntentReceiver();
// this line sets receiver priority
filter.setPriority(999);
registerReceiver(r, filter);
Run Code Online (Sandbox Code Playgroud)

这适用于较旧的Android版本,但在Android 8上这不起作用,因为它必须注册显式广播,但我不知道如何.如何注册显式广播来检测媒体按钮?

这是在Manifest.xml中:

<receiver android:name=".MediaButtonIntentReceiver">
    <intent-filter android:priority="999">
        <action android:name="android.intent.action.MEDIA_BUTTON" />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

java android android-broadcastreceiver android-8.0-oreo

6
推荐指数
1
解决办法
1532
查看次数