android禁止压缩壁纸,Android6.0 屏蔽壁纸功能
软件平台:android6.0
硬件平台:MT6797
这两天搞了一个定制需求,也算是一个bug吧,6.0的系统前阵子做了系统裁剪,去掉了几十个app和service,结果一开始没出现的问题,裁剪后出来了,就是系统开机会始终显示一张默认壁纸,由于我们的硬件没有lcd,所以这个问题一开始被忽视了,在我们命令行开启app的时候,发现app内部的声音出来了,但实质屏幕显示依然是壁纸。
于是,有了裁撤壁纸功能的想法。
最开始是尝试setttings配置项把def_lockscreen_disabled设置为false,但是并没啥卵用。
接着尝试看WallPaperService启动部分代码:
在SystemServer.java中有其加载启动部分,如下:
if (!disableNonCoreServices && context.getResources().getBoolean(
R.bool.config_enableWallpaperService)) {
try {
Slog.i(TAG, "Wallpaper Service");
wallpaper = new WallpaperManagerService(context);
ServiceManager.addService(Context.WALLPAPER_SERVICE, wallpaper);
} catch (Throwable e) {
reportWtf("starting Wallpaper Service", e);
}
}
可以看到标红的属性字段是是否加载壁纸服务的条件,搜索这项配置,发现是在frameworks/base/core/res/res/values/config.xml中配置,
true
将true改为false:
false
在添加了上述改动后,壁纸问题概率低了不少,但是也会偶尔出现,后来发现是SystemUI状态栏状态更新的时候会有是否呈现壁纸的判断逻辑,而这个逻辑没有添加对上述两个属性的配置判断,在此,直接把SystemUI这部分作如下修改:
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java
@@ -98,13 +98,17 @@ public class StatusBarWindowManager {
}
private void applyKeyguardFlags(State state) {
- if (state.keyguardShowing) {
+ /*if (state.keyguardShowing) {
mLpChanged.flags |= WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
mLpChanged.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
} else {
mLpChanged.flags &= ~WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
mLpChanged.privateFlags &= ~WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
- }
+ }*/
+
+ // we don't need keyguard display
+ mLpChanged.flags &= ~WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
+ mLpChanged.privateFlags &= ~WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
}
private void adjustScreenOrientation(State state) {
无论啥情况,壁纸和锁屏的标志位都置为0。
至此,解决。。。
android禁止压缩壁纸,Android6.0 屏蔽壁纸功能相关推荐
- android6.0原生壁纸,安卓6.0原生壁纸 androidM6.0自带高清壁纸下载
安卓系统6.0正式命名为Marshmallow棉花糖,有网友将安卓6.0系统自带壁纸提取出来,下面是androidM6.0自带高清壁纸下载资源. 安卓6.0原生壁纸 androidM6.0自带高清壁纸 ...
- Android6.0动态壁纸,M Launcher下载-M桌面-安卓6.0桌面 v1.4.3_手机乐园
软件简介 M桌面带给你最新的Android M(安卓6.0棉花糖)桌面的体验! M桌面是一个平滑的,简单的,流畅的的Android M风格的桌面 M桌面的主要特点: 采用最新的Android M 界面 ...
- android launcher 字体大小,Android6.0 Launcher3 修改app字体大小
在原生的Android6.0中,在修改了系统字体大小后,Launcher 3上的app字体大小没有改变,下面方法可以解决:--- a/packages/apps/Launcher3/src/com/a ...
- android 相机拍照返回,Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题...
版权声明:本文为博主原创文章,未经博主允许不得转载. 正常情况下调用系统相机拍照: 如果拍照后点击的是"确定"图标,返回的resultCode = -1(Activity.RESU ...
- [Android Studio]详细讲解Android6.0以上请求应用权限(解决请求权限窗口一闪而过的问题)
现在的主流手机的Android版本都是8.0/9.0(笔者的华为手机为9.0),所以在开发Android的时候尽量使用Android8.0的版本(SDK 26).随着Android版本的提升,系统的安 ...
- android关闭权限管理,Android6.0权限管理以及使用权限该注意的地方
Android 6.0 Marshmallow首次增加了执行时权限管理,这对用户来说,能够更好的了解.控 制 app 涉及到的权限.然而对开发人员来说却是一件比較蛋疼的事情.须要兼容适配,并保证程序功 ...
- imx6 android 最新,Re: IMX6D Android6.0 OTA 升级问题
HI All : 在调试我们imx6D Android6.0产品OTA升级的时候遇到一个问题,希望您帮忙协助分析下. 现在我们的板子是通过SD卡启动,系统运行正常. 操作如下: 我通过Make dis ...
- android6.0.1隐藏功能,安卓6.0系统界面调谐器怎么使用?安卓6.0隐藏功能开启和使用方法[多图]...
安卓6.0推送有一段时间了,很多用户对其新增功能还不太了解吧!今天友情下载小麦给大家带来的是安卓6.0隐藏功能开启和使用方法,希望可以帮到大家,现在就跟随小麦一起看看吧!!! 要开启安卓6.0的隐藏功 ...
- android 6.0 重启 丢失 壁纸,android6.0 壁纸设置流程讲解
主要以在launcher界面长按点击wallpaper按钮来设置壁纸的流程. 当我们点击wallpaper按钮后进入WallpaperPickerActivity.java界面,分三块上为设置按钮,中 ...
最新文章
- 第8集析构函数中抛出的异常
- 【数据源】如何应用“紧急联系人”数据
- 提升图像对比度和亮度
- [转载]二叉树先序、中序、后序三种遍历的非递归算法
- Android之如何解决popupWindow(pw.setFocusable(true))按返回键和menu键退出
- 【转】android:DDMS查看Threads--不错
- 对于spring的一些巩固一些难点的理解 2021-04-18
- Spring Boot学习总结(14)——Spring Boot常见面试题汇总
- Java中字符串的几个实例
- 矩形嵌套-记忆化搜索(dp动态规划)
- hyperledger fabric PBFT算法简要解析
- 蚂蚁金服井贤栋:用技术联手金融机构,形成服务小微的生态合力
- 网络空间安全和计算机科学与技术的区别,密码与网络空间安全学科有什么区别...
- 2022.08 VMware官网下载安装+配置Linux虚拟机,最新最全
- 500MHz频率源设计(西电通院高频大作业)
- luogu P3934 [Ynoi2016] 炸脖龙 I
- 【技术贴】Pdf压缩利器--PDFshrink使用教程
- linux: 五种IO模型(IO多路复用)
- 别光盯着未来!看看海尔智家此前都布局了什么?
- 2017年问题汇总-待整理