领取MOLI红包

Android开发壁纸的验证设置和确认功能实现demo

发布日期:2025-01-04 17:44    点击次数:85

前言 首先说一下,Android手机壁纸Wallpaper和桌面Launcher是分开的,是两个不同的应用 Wallpaper在系统Framework也有相关Manager和Service; Android Launcher默认背景是透明的,覆盖在壁纸之上 简单的理解就是Launcher就是一个显示了很多应用图标的apk。 Android壁纸设置后会存路径: /data/system/users/0/wallpaper 这个wallpaper是一个文件,可以pull到电脑中添加后缀.png查看图片。 一、壁纸设置 (1)代码壁纸设置 AndroidManifest.xml中需要申明权限: 通过WallpaperManager设置 该方法可以直接将图片置为壁纸,对于所有平台的Android系统都使用。 设置Bitmap对象 Android 10及以后的版本要注意,普通应用连sdcard文件读取的权限都没有,因为加了沙箱机制了。 不过也是有方法解决的 1是添加系统签名android.uid.system 2是添加WRITE_MEDIA_STORAGE权限 还有一种方法是设置Source对象 指的是应用内部的图片文件,比如raw目录或者drawable目录,的文件并且只支持PNG or JPEG格式的图片。 该方式不需要读取权限,只要SET_WALLPAPER权限即可。 (2)adb壁纸设置 需要root权限!而且需要重启一次,才能看到效果,因为没有调用到系统刷新。 二、壁纸验证 需要权限(即系统应用、root权限)! (1)系统应用代码中验证 打开壁纸文件 (2)adb 复制文件验证 (3)apk验证,请看附件 这个wallpaper.apk只能替换壁纸,若要显示和pull文件需要签名文件,替换项目中的签名文件即可。 简单的设置壁纸验证壁纸的apk资源点击下载 三、其他 (1)壁纸设置无效 和Launcher相关,Launcher界面是覆盖在壁纸之上的。 (2)壁纸和桌面Launcher的关系 没啥关系。但是Launcher可以覆盖壁纸。 壁纸是与系统服务,以及SystemUi相关的。 你把/data/system/users/0/wallpaper文件删除,会发现,壁纸背景是黑色的。 (3)壁纸设置的系统代码流程 有兴趣的看:https://www.jb51.net/article/44216.htm (4)系统默认壁纸设置失败? 默认壁纸路径: frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.png 要注意res同一个目录下有多个drawable文件夹,有的里面也有default_wallpaper.png图片。 如果是替换了drawable里面多个default_wallpaper.png图片没用反应 那么要看看系统源码哪里出错了,多加一些打印看看进行具体情况分析 里面是有读取default_wallpaper.png图片的代码逻辑,比如关键字: R.drawable.default_wallpaper 以上就是Android开发壁纸的验证设置和确认功能实现demo的详细内容,更多关于Android开发壁纸验证设置确认的资料请关注脚本之家其它相关文章! 您可能感兴趣的文章:详解Android壁纸服务的启动过程Android自定义动态壁纸开发(时钟)Android自定义动态壁纸开发详解Android编程之动态壁纸实例分析Android开发学习之WallPaper设置壁纸详细介绍与实例

栏目分类



Powered by Slothana中文网 @2013-2022 RSS地图 HTML地图

Copyright Powered by365站群 © 2013-2024