Android 11 设置静音之后修改时间会解除静音,如何在源码中修改不解除
时间: 2024-03-19 11:44:14 浏览: 18
在 Android 11 中,当用户将手机设为静音后,修改时间会解除静音,这是默认的行为。如果你想在源码中修改这个行为,你需要进行以下操作:
1. 打开源码,找到 `frameworks/base/packages/SystemUI/src/com/android/systemui/qs/TimeTile.java` 文件。
2. 找到 `private void handleClick()` 方法,在方法中找到下面这行代码:
```java
mUiEventLogger.log(QSEvent.QS_TILE_CLICK, 0, mTileSpec);
setEnabled(false);
mHandler.postDelayed(() -> {
setEnabled(true);
}, 500);
mContext.sendBroadcastAsUser(new Intent(Intent.ACTION_TIME_SETTINGS),
UserHandle.CURRENT);
```
这段代码中的 `Intent.ACTION_TIME_SETTINGS` 就是打开时间设置界面的 Intent。
3. 将上述代码中的 `Intent.ACTION_TIME_SETTINGS` 修改为 `Intent.ACTION_TIME_CHANGED`。
4. 重新编译源码并安装到手机上,就可以看到修改时间后不解除静音的效果了。
需要注意的是,修改源码需要有一定的编程经验和技能,不建议新手操作。另外,修改系统源码可能会对系统稳定性和安全性造成影响,请谨慎操作。