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

3

我有一张图片,并想将其设置为锁屏壁纸。对于API 24及以上的设备,我们可以使用以下代码实现:

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

然而,我希望能够在API 24之前的设备上实现它,就像许多其他壁纸应用程序那样。这已经在此处得到了解答,但是它并没有提供其他壁纸应用程序如何在API 24之前的设备上设置锁屏壁纸的任何线索。 有其他解决方案建议将应用程序注册为临时替代的媒体控制器,但这不适用于我的情况。请注意,我知道通过标准API是不可能实现的,但是我正在寻找另一种替代方案。

1个回答

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:"));

你是一颗宝石!这是在 API 24 之前设备可用的唯一解决方案。 - Hamza Khan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接