Android 设置系统桌面壁纸

本篇主要讲下如何设置系统桌面壁纸.

代码如下:

java 复制代码
    public static void setLauncherWallPaper(Context context, Bitmap bitmap) throws IOException {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
            final int result;
            try {
                result = WallpaperManager.getInstance(context).setBitmap(bitmap, null, false, WallpaperManager.FLAG_SYSTEM);
            } catch (Throwable e) {
                throw new IOException(e);
            }
            if (result == 0) {
                throw new IOException("setLauncherWallPaper failed");
            }
        } else {
            try {
                WallpaperManager.getInstance(context).setBitmap(bitmap);
            } catch (Throwable e) {
                throw new IOException(e);
            }
        }
    }

本地调用如下:

java 复制代码
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.wallpaper);
        try {
            setLauncherWallPaper(this,bitmap);
        } catch (IOException e) {
            e.printStackTrace();
        }
相关推荐
CaspianSea2 小时前
编译Android 16 TV模拟器(一)
android
廋到被风吹走6 小时前
【数据库】【MySQL】InnoDB外键解析:约束机制、性能影响与最佳实践
android·数据库·mysql
峥嵘life8 小时前
Android16 EDLA 认证测试CTS问题分析解决
android·java·服务器
惟恋惜8 小时前
Jetpack Compose 的状态使用之“界面状态”
android·android jetpack
_李小白10 小时前
【Android FrameWork】第二十六天:BroadcastReceiver
android
@#---11 小时前
如何准确判断json文件并且拿到我想要的信息
android·python·json
程序员陆业聪13 小时前
Android插件化原理与方案详解
android
惟恋惜15 小时前
Jetpack Compose 界面元素状态(UI Element State)详解
android·ui·android jetpack
_李小白15 小时前
【Android FrameWork】延伸阅读:IGraphicBufferProducer驱动UI绘制过程
android·ui
_李小白17 小时前
【Android FrameWork】第二十八天:Activity 的 UI 绘制全过程
android·ui