如何解决如何在 Android 8+ 中处理来自 Headest 的媒体按钮
在我的应用程序中,我捕获来自耳机的播放事件并覆盖其功能。这适用于 android 6 和 7。在 android 8+ 上,媒体查找过程已更改,它期望应用程序具有正在运行的媒体会话或期望接收器,但我不确定如何使其工作。此 link 描述了更改
在我的清单中,我有服务和接收器:
<!-- The service,that handles media buttons -->
<service android:name=".MediaButtonService">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</service>
<!-- A receiver that will receive media buttons. required on pre-lollipop devices -->
<receiver android:name="androidx.media.session.MediaButtonReceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
在 .MediaButtonService 上,我有以下内容:
private MediaSessionCompat _mediaSession;
@Override
public void onCreate() {
_mediaSession = new MediaSessionCompat(this,"MediaButtonService");
_mediaSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS);
_mediaSession.setPlaybackState(
new PlaybackStateCompat.Builder()
.setActions(PlaybackStateCompat.ACTION_PLAY)
.build());
_mediaSession.setCallback(new MediaSessionCompat.Callback() {
@Override
public void onPlay() {
Context context = getApplicationContext();
Intent service = new Intent(context,xxxx.class);
context.startService(service);
}
});
_mediaSession.setActive(true);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。