最近工作内容发生了一些变化,因此对前段时间的壁纸学习进行一个总结。
本章主要介绍,手机在第一次开机时,所使用的默认壁纸以及默认壁纸服务。
-
默认壁纸
-
默认壁纸的代码加载位置在framework/base/core/java/android/app/WallpaperManager.java中,openDefaultWallpaper方法可以用于获取默认壁纸,像默认壁纸组件ImageWallpaper,就是用该方法来获取默认的壁纸
-
-
该方法用于获取当前设备的默认壁纸,不过暂时不支持默认锁屏壁纸的获取
-
从代码看有两个地方可以指定默认壁纸
-
一个是通过PROP_WALLPAPER属性获取,如果系统属性中存在该属性,且该属性的值指向一个文件路径,则认为该文件为默认壁纸。
-
ro.config.wallpaper
-
该属性可以通过 /build/tools/buildinfo.sh在编译时指定,属性将会以上述顺序加载。后加载的属性将覆盖原先的值。
-
-
如果属性不存在则加载系统预置的壁纸资源
-
该资源在/framework/base/res/res/drawable/default_wallpaper.png; 该资源被打包在framework-res.apk里
-
对应的资源id为com.android.internal.R.drawab
-
-
-