瑞芯微Rockchip开发者社区
直播中

吴湛

9年用户 914经验值
擅长:可编程逻辑
私信 关注
[问答]

怎样去修改RK3399 Android7.1的自定义壁纸呢

怎样去修改RK3399 Android7.1的自定义壁纸呢?

回帖(1)

王建

2022-3-8 11:34:33
  1.自定义壁纸壁纸
  默认是default_wallpaper,在/frameworks/base/core/res/res,drawable-sw720dp-nodpi 、drawable-sw600dp-nodpi、drawable-nodpi的地方有default_wallpaper.png,然后自定义把的壁纸(custom_wallpaper.png)也上传到相应修改的地方。
  2.默认壁纸
  的类frameworks/base/core/java/android/app/WallpaperManager.java ,custom_wallpaper是壁纸的图片名称。
  /*自定义壁纸*
  * 代表默认静态图片壁纸的打开流。
  *
  * 如果设备没有定义请求类型的默认壁纸,
  * {@code null} 返回。
  *
  * @hide
  */
  public static InputStream openDefaultWallpaper(Context context, @SetWallpaperFlags int which) {
  final String whichProp;
  最终 int defaultResId;
  if (which == FLAG_LOCK) {
  /* 尚不支持出厂默认锁壁纸
  whichProp = PROP_LOCK_WALLPAPER;
  defaultResId = com.android.internal.R.drawable.default_lock_wallpaper;
  */
  返回空值;
  } else {
  whichProp = PROP_WALLPAPER;
  //默认默认
  // defaultResId = com.android.internal.R.draw.default_wallpaper
  defaultResId = com.android.internal.R.drawable.custom_wallpaper;
  }
  最终字符串路径 = SystemProperties.get(whichProp);
  如果(!TextUtils.isEmpty(路径)){
  最终文件文件 = 新文件(路径);
  if (file.exists()) {
  try {
  return new FileInputStream(file);
  } catch (IOException e) {
  // 忽略,回退到平台默认值下面
  }
  }
  }
  try {
  return context.getResources().openRawResource(defaultResId);
  } catch (NotFoundException e) {
  // 没有为此设备定义默认值;这不是失败
  }
  return null;
  3.声明资源
  在frameworks中添加资源不是直接把图片复制过去就可以的,还需要添加新资源声明。frameworks/base/core/res/res/values/symbols.xml中添加新资源的字段。
  
  《java-symbol /》
  《java-symbol /》
举报

更多回帖

发帖
×
20
完善资料,
赚取积分