Android 系统APK-音乐和视频 暂停上一首下一首按键修复

Posted 王睿丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 系统APK-音乐和视频 暂停上一首下一首按键修复相关的知识,希望对你有一定的参考价值。

以下代码可修复如下三种需求

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

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

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

路径: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;
++                    
++                

系统APK 开发系列:
Android 系统APK-录音机 横屏显示时录制时间不居中
Android 系统APK-录音机 录音过程不能受外部USB插拔影响
Android 系统APK-闹钟 长按进入夜间模式,松开退出夜间模式
Android 系统APK-闹钟 移除时钟内的音量按钮
Android 系统APK-音乐和视频 暂停、上一首、下一首按键修复

以上是关于Android 系统APK-音乐和视频 暂停上一首下一首按键修复的主要内容,如果未能解决你的问题,请参考以下文章

怎样用MFC做一个音乐播放器,可以实现播放,暂停,上一首,下一首和显示播放列表的基本功能。谢谢!

1600802038

Alpha版本测试报告

Android音乐播放器

Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)

基于hbuilder开发的微信小程序音乐播放系统,可添加本地音乐(含源码)