Android 11.0 修复同时播放音乐和视频时,上一首、下一首、暂停按键失灵

  • 在音乐播放器没有挂后台时,点击播放/暂停键、上一首、下一首不能响应任何事件

  • 正在看视频时,若音乐播放器在后台,点击暂停、上一首、下一首只能操作视频、不能启动音乐和切换音乐

  • 在桌面和其他应用下,点击播放/暂停键不能启动音乐或视频

路径:frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

    @Override
    public long interceptKeyBeforeDispatching(IBinder focusedToken, KeyEvent event, int policyFlags) {
    
    
 			case KeyEvent.KEYCODE_MEDIA_PLAY:
            case KeyEvent.KEYCODE_MEDIA_PAUSE:
            case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
            case KeyEvent.KEYCODE_HEADSETHOOK:
            case KeyEvent.KEYCODE_MUTE:
            case KeyEvent.KEYCODE_MEDIA_NEXT:
            case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
            case KeyEvent.KEYCODE_MEDIA_REWIND:
            case KeyEvent.KEYCODE_MEDIA_RECORD:
            case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
            case KeyEvent.KEYCODE_MEDIA_AUDIO_TRACK: {
    
             
++                android.app.ActivityManager am = (android.app.ActivityManager) mContext.getSystemService(ACTIVITY_SERVICE);
++                android.content.ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
++                if ((keyCode ==  KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE) || (keyCode == KeyEvent.KEYCODE_MEDIA_NEXT) || (keyCode == KeyEvent.KEYCODE_MEDIA_PREVIOUS)){
    
    
++                    if ((!"xxx.activity".equals(cn.getClassName())) && (!"xxx.music".equals(cn.getPackageName()))){
    
    
++                        return 0;
++                    }
++                }
}

猜你喜欢

转载自blog.csdn.net/qq_27494201/article/details/125147819