1

要在 Android 设备上设置黑色或纯色壁纸,可以使用像素设置为该颜色的 1x1 像素小图像。这适用于大多数 Android 设备(包括 Nexus 设备和其他运行原生 Android 的设备)。系统知道如何用那个像素填充整个屏幕,从而为您提供全纯色壁纸。

但是,有些 Android 设备在设置 1x1 像素图像壁纸后会立即报错:

  • 不幸的是,系统 UI 已停止。
  • 不幸的是,首页已经停止。

尝试稍大的图像尺寸(2x2、3x3、4x4)也会失败。

我刚刚创建了一个开源 Android 应用来测试这个问题:Minimum Wallpaper。其源代码可在 GitHub 上找到

正如你在 GitHub 上看到的,实际设置壁纸的代码是:

public static Bitmap createColorSwatchBitmap(int width, int height, int color) {
    final Bitmap colorBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    colorBitmap.eraseColor(color);
    return colorBitmap;
}

final WallpaperManager wpManager = WallpaperManager.getInstance(context);
final Bitmap colorBitmap = ColorUtils.createColorSwatchBitmap(width, height, color);
wpManager.setBitmap(colorBitmap);

到目前为止,我有一份带有屏幕截图的报告,在 Allview P8 Energy 上,可以使用的最小壁纸尺寸为 32x32。从我参与的另一个项目中,我有一些信息表明 1x1 壁纸在以下设备上也会失败:

  • LG:G5,触控笔 2
  • 魅族:m1 note、m2 note、m3 note、MX5、Pro 6

我的问题:

  1. (仅)某些设备在设置 1x1 像素壁纸后出现错误的合理原因是什么?

  2. 应该在所有 Android 设备上合理工作的最小“安全”壁纸尺寸是多少?

4

0 回答 0