我有一个关于新的Android版本8.0(Oreo)的问题。我需要注册广播,我使用以下代码实现:
// 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);
这在旧版的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>