系统默认壁纸的存放路径:frameworks/base/core/res/res/drawable 下
图片文件名:default_wallpaper
查看代码中对默认壁纸图片的引用
有关java代码在WallpaperManager中
public static InputStream openDefaultWallpaper(Context context) {final String path = SystemProperties.get(PROP_WALLPAPER);if (!TextUtils.isEmpty(path)) {final File file = new File(path);if (file.exists()) {try {return new FileInputStream(file);} catch (IOException e) {// Ignored, fall back to platform default below}}}return context.getResources().openRawResource(com.android.internal.R.drawable.default_wallpaper);
}
返回的是默认图片文件的输入流
在代码中可以看到当系统配置文件中对相关属性进行文件路径的设置后,返回的是对应文件的输入流,否则才返回资源文件下的默认壁纸图片的输入流。
public Drawable getBuiltInDrawable(int outWidth, int outHeight,
boolean scaleToFit, float horizontalAlignment, float verticalAlignment)
中通过获取输入流对壁纸进行绘制
通过Bitmap对象来接收壁纸图片
通过bitmap对象的属性,进行绘制,并返回相应的drawable对象
在Launcher中得到drawable对象
packages/apps/Launcher3/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java:282: Drawable defaultWallpaper = WallpaperManager.getInstance(a).getBuiltInDrawable(
packages/apps/Launcher3/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java:1081: Drawable wallpaperDrawable = WallpaperManager.getInstance(this).getBuiltInDrawable(
获取默认壁纸信息的具体方法。