在按下耳机时需要将我的应用程序带到前台为此我使用 registerMediaButtonEventReceiver() 方法,它在 android os 5.1 以下设备上工作正常。现在此方法在 API 级别 21 中已弃用。我正在使用 mediasession.setMediaButtonReciever() 来获得高优先级,但它不起作用。
AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
ComponentName mediaComponent = new ComponentName(context.getPackageName(), HeadsetReceiver.class.getName());
mAudioManager.registerMediaButtonEventReceiver(mediaComponent);
mediaHandler.postDelayed(this, 1000L);
Run Code Online (Sandbox Code Playgroud)
我每 1 秒发布一次以获取我的优先应用程序。我在 5.1 中使用此代码,但按下媒体按钮音乐开始。我的应用程序没有收到任何将应用程序带到前台的事件。提前致谢..
MediaSession mSession = new MediaSession(context,context.getPackageName());
Intent intent = new Intent(context, HeadsetReceiver.class);
PendingIntent pintent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mSession.setMediaButtonReceiver(pintent);
mSession.setActive(true);
mediaHandler.postDelayed(this, 1000L);
Run Code Online (Sandbox Code Playgroud) android android-intent android-mediaplayer android-activity android-audiomanager
android ×1