Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过Gallary应用程序设置壁纸_Android_Wallpaper_Lockscreen - Fatal编程技术网

Android 通过Gallary应用程序设置壁纸

Android 通过Gallary应用程序设置壁纸,android,wallpaper,lockscreen,Android,Wallpaper,Lockscreen,我四处寻找是否有可能直接从android Sdk为锁屏设置墙纸,但不幸的是它还不可用,但我如何见过一些应用程序能够通过Stock gallary应用程序实现这一点,如图所示 gallary应用程序是否有意将特定图像设置为壁纸? 谢谢 您可以使用将位图设置为壁纸。它定义了一种方法,允许您将位图设置为墙纸 但是,要做到这一点,您需要在清单中设置要定义的墙纸的权限 如何将位图发送到gallary 您需要创建一个具有适当扩展名的文件,然后使用该方法将其写入该文件。 以下是我从另一个答案中提取的快速代码:

我四处寻找是否有可能直接从android Sdk为锁屏设置墙纸,但不幸的是它还不可用,但我如何见过一些应用程序能够通过Stock gallary应用程序实现这一点,如图所示 gallary应用程序是否有意将特定图像设置为壁纸? 谢谢


您可以使用将位图设置为壁纸。它定义了一种方法,允许您将位图设置为墙纸

但是,要做到这一点,您需要在清单中设置要定义的墙纸的权限

如何将位图发送到gallary

您需要创建一个具有适当扩展名的文件,然后使用该方法将其写入该文件。
以下是我从另一个答案中提取的快速代码:

try {
       FileOutputStream out = new FileOutputStream(filename);
       bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
       e.printStackTrace();
}

我知道你可以使用墙纸管理器设置墙纸,但它只适用于主屏幕,所以假设我已经获得了图像的路径,并且它有.jpg扩展名,那么我如何将该图像路径发送到gallery应用程序以将其设置为锁定/主屏幕。提前感谢你有一个
位图
,你想存储为jpg,因此,将
compress()
中的常量设置为
Bitmap.CompressFormat.JPEG
您可以通过编程设置锁屏图像,但这违反了安全性。您可能想看看这里:这里有更多信息:请注意,
JPEG
是高度压缩的图像,因此如果您从internet下载的图像是
Bitmap
,请不要期望大量压缩