Android版本:android q
平台:sdm660
kernel版本:4.4
项目需求,系统中有一个触摸按键,要求当按下mute按键时,mute麦克风的功能,通过查看代码以及查阅网上资料,mute功能,一般时实现mute喇叭的功能,没有类似的文章,且一般mute麦克风,基本都是通过app中的button实现的,比如通话时,会有一个mute的button等,但是kernel中有一个mute mic的键值,KEY_MICMUTE,然后内核中通过上报此键值,然后framework中收到此键值后,来mute mic
1.kernel中上报 KEY_MICMUTE
2.修改 LINUX/android/frameworks/base/data/keyboards/Generic.kl 文件,添加如下内容:
key 248 MUTE
3.修改 LINUX/android/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
#LINUX/android/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
import android.os.UserHandle;
import android.os.VibrationEffect;
import android.os.Vibrator;
+ import android.os.Looper;
import android.provider.MediaStore;
import android.provider.Settings;
impo