遇到的问题
现在需要在安卓9.0的系统上进行修改,目的是在使用自己的app时无法退回到系统桌面。
解决办法
办法一: 首先想到的是在app的软件上进行尝试,参考了网上的许多教程之后,都不行,由于Android 9 的特性,及时虚拟按键是隐藏了,但是通过侧边滑动,还是能够出来,放弃。
办法二:第二个解决办法那就是在系统源码上进行修改了,通过查阅资料,控制虚拟按键显示的文件位于frameworks/base/packages/SettingsProvider/res/values/defaults.xml 路径下
的此行代码中
<string name="policy_control" translatable="false">immersive.full=*</string>
通过设置policy_control的值,可以改变虚拟按键的显示状态,有以下四种情况:
- 全屏沉浸模式(包括状态栏和虚拟按键): immersive.full=*
- 状态栏沉浸:immersive.status=*
- 虚拟按键沉: immersive.navigation=*
- 隐藏并且弃用:null
其中沉浸模式就是默认全屏,但是通过滑动还是能够显示出来,类似玩游戏看电影时的效果。
将policy_control设为null后,虽然行得通,也确实无法退回桌面,但是在横屏