如何在Android中的API 24之前的设备上设置锁屏墙纸?

时间:2020-03-20 06:06:22

标签: android kotlin lockscreen wallpaper

我有一张图片,想要将其设置为锁屏墙纸。对于API 24或更高版本的设备,我们可以使用

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

但是我想在API 24之前的设备上执行此操作,就像许多其他壁纸应用程序一样。之前here已经回答了此问题,但是它没有任何线索说明其他墙纸应用程序如何能够在API 24之前的设备上设置锁屏墙纸。 还有其他解决方案建议该应用程序必须注册为媒体控制器才能进行临时替换,但这不是我的情况。请注意,我知道无法通过标准API来实现这一点,但是,我正在寻找一种替代方法。

1 个答案:

答案 0 :(得分:2)

使用此隐式意图在API 24之前的设备上设置墙纸或设置锁屏墙纸。

Intent intent = new Intent("android.intent.action.ATTACH_DATA");
intent.addCategory("android.intent.category.DEFAULT");
String str = "image/*";
intent.setDataAndType(Uri.fromFile(new File(your_file_url)), str);
intent.putExtra("mimeType", str);
startActivity(Intent.createChooser(intent, "Set As:"));