android 16触摸提示音Back虚拟按键无声

android 16代码差异巨大,很多老代码上实现的需求到新代码上无法完美实现,就连系统默认的功能------触摸提示音都无法完美实现。老版本触摸提示音都是通过pwm或者systemui触发,而A16上的代码通过proxy将部分功能从systemui转移到launcher。本文通过trace按键流程代码,用一种简单的方案实现back触摸播放声音。

java 复制代码
Index: vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java
===================================================================
--- vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java	(revision 711)
+++ vendor/mediatek/proprietary/packages/apps/Launcher3/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java	(revision 712)
@@ -973,6 +973,7 @@
             }
             navButtonController.sendBackKeyEvent(KeyEvent.ACTION_UP, isCancelled);
             if (motionEventAction == MotionEvent.ACTION_UP && !isCancelled) {
+                buttonView.playSoundEffect(android.view.SoundEffectConstants.CLICK); // bw@ +
                 buttonView.performClick();
             }
             return false;
相关推荐
普通人65 小时前
MySQL_FIND_IN_SET函数详解
android·数据库·mysql
好的佩奇16 小时前
Dart 之集合元素
android·flutter·dart
Easyhood17 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
FlightYe18 小时前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
疯华整猫20 小时前
删掉 LeakCanary 那天,我用 Trae 自己撸了一套:最难的不是分析堆,是决定什么时候 dump
android·人工智能·性能优化
mmsx1 天前
耳切法切带洞多边形:论文能跑通,真实数据为什么崩
android·kotlin
洞见前行1 天前
你的 Activity 关了,为什么还活着?Android 内存泄漏从发现、定位到线上治理
android·性能优化·leakcanary
Kapaseker1 天前
Kotlin 又要加语法糖了:这次轮到 if-else
android·kotlin
恋猫de小郭1 天前
Flutter 3.50 & Dart 3.14 发布,快来看看有什么更新吧
android·前端·flutter