修改设置Android锁屏壁纸为系统默认的锁屏壁纸

最近做了项目上的需求,就是在设备锁屏之后,要恢复一下系统默认的壁纸。。。

  1. 设置锁屏壁纸的方法

很明显如果想要修改系统锁屏壁纸,需要用到这个类WallpaperManager,按照正常的方法调用有类似下面这样的方法可以使用:

 wallpaperManager.setBitmap(bitmap);

但是实际使用过程中,像上面的调用,会同时修改桌面壁纸和锁屏壁纸。经过查看WallpaperManager这类的相关方法,找到了可以单独设置修改锁屏壁纸的方法,如下:

wallpaperManager.setBitmap(bitmap, null, true, WallpaperManager.FLAG_LOCK);

但是这个方法有所限制,只能在targetSdkVersion为 26及以上才可以使用;

     2. 获取系统默认的壁纸

默认壁纸一:

Drawable drawable = wallpaperManager.getBuiltInDrawable();

这个获取到的是谷歌原生的那种默认壁纸,红色的,夕阳红山景,哈哈哈...........(姑且这么描述吧^_^)

默认壁纸二:

Drawable drawable = wallpaperManager.getDrawable();

这个方法获取到的默认壁纸为设备厂商出厂时的默认系统壁纸(每家的锁屏壁纸可能都不一样(我说的是长相 O(∩_∩)O哈哈~).................)

完整的设置流程如下:

 try {
            //系统锁屏壁纸变化后,先获取系统默认壁纸,然后设置默认锁屏壁纸
            Drawable drawable = wallpaperManager.getDrawable();/根据项目需要自行选择那种默认壁纸
            Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
            wallpaperManager.setBitmap(bitmap, null, true, WallpaperManager.FLAG_LOCK);
            LTKLog.i(TAG + " --  changed and reset default system lockwallpaper......");
        }catch (IOException e){
            e.printStackTrace();
        }

ps:记得在Androidmainfest.xml文件里添加上设置锁屏壁纸需要的权限哦!

好了,先这么简单的记录一下这个小小的知识点,呜呼................

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Android设置桌面壁纸及恢复默认墙纸,程序中将创建一个存储壁纸图片资源的id数组,定义被选中的图片在id数组中的索引,需要自定义一个BaseAdapter,然后:   ImageView iv = new ImageView(Sample_12_2.this);//新建一个ImageView   iv.setBackgroundResource(imgIds[position]);//设置ImageView的背景图片   iv.setScaleType(ImageView.ScaleType.CENTER_CROP);   iv.setLayoutParams(new Gallery.LayoutParams(120, 120));//设置相框中元素的大小   将设置壁纸和恢复壁纸的功能写入按钮监听事件中,通过单击按钮来激活这两个功能:   设置ImageView为当前墙纸:   Button btnGetWall = (Button)findViewById(R.id.getWall);//获得Button对象   btnGetWall.setOnClickListener(new View.OnClickListener() {//为Button添加OnClickListener监听器   @Override   public void onClick(View v) {    ImageView iv = (ImageView)findViewById(R.id.currWall);    iv.setBackgroundDrawable(getWallpaper()); //设置ImageView显示的内容为当前墙纸   }   恢复默认壁纸:   setContentView(R.layout.main);//设置当前屏幕   Button btnClearWall = (Button)findViewById(R.id.clearWall);//获得Button对象   btnClearWall.setOnClickListener(new View.OnClickListener() {//添加OnClickListener监听器   @Override   public void onClick(View v) {//重写onClick方法   try {    Sample_12_2.this.clearWallpaper();//还原手机壁纸   } catch (IOException e) {//捕获并打印异常    e.printStackTrace();   }
关闭Win11聚焦锁屏壁纸的方法如下:首先,打开Windows设置,点击"个性化"选项。然后,在左侧导航栏中选择"锁屏"。接下来,在右侧的"背景"下拉菜单中,选择"图片"选项。最后,将"聚焦"选项切换为"关闭"。这样就成功关闭了Win11的聚焦锁屏壁纸。\[1\] #### 引用[.reference_title] - *1* [Win11聚焦锁屏壁纸不更新了?Win11锁屏聚焦不更换解决教程](https://blog.csdn.net/qq_29508575/article/details/124884859)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [如何保存Win11自动锁屏壁纸?](https://blog.csdn.net/weixin_47246285/article/details/130575545)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【2022年】Win11修改锁屏界面、登录界面背景图片方法(亲测有效)](https://blog.csdn.net/qq_45135120/article/details/128114605)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值