可能重复:
Android - 如何设置壁纸图像
我想要做的是,使用图像 URI 设置壁纸(不裁剪)
我是 Android 开发人员和一般开发人员的新手。互联网让我失望了......提供设置壁纸的代码。
是的,开发资源网站说
public void setStream (InputStream data)
但我不明白,一些示例代码会对我有很大帮助。
可能重复:
Android - 如何设置壁纸图像
我想要做的是,使用图像 URI 设置壁纸(不裁剪)
我是 Android 开发人员和一般开发人员的新手。互联网让我失望了......提供设置壁纸的代码。
是的,开发资源网站说
public void setStream (InputStream data)
但我不明白,一些示例代码会对我有很大帮助。
嗨,如果您有图像路径,您可以使用此代码。
is = new FileInputStream(new File(imagePath));
bis = new BufferedInputStream(is);
Bitmap bitmap = BitmapFactory.decodeStream(bis);
Bitmap useThisBitmap = Bitmap.createScaledBitmap(
bitmap, parent.getWidth(), parent.getHeight(), true);
bitmap.recycle();
if(imagePath!=null){
System.out.println("Hi I am try to open Bit map");
wallpaperManager = WallpaperManager.getInstance(this);
wallpaperDrawable = wallpaperManager.getDrawable();
wallpaperManager.setBitmap(useThisBitmap);
如果您有图像 URI,则使用此
wallpaperManager = WallpaperManager.getInstance(this);
wallpaperDrawable = wallpaperManager.getDrawable();
mImageView.setImageURI(imagepath);
让我知道是否有任何问题。
如果您有图像 URL,则可以使用 stream(abstraction): 来打开它所代表的资源
new URL("your.image.url.com").openStream()
。此方法调用将返回一个类型的对象InputStream
,您可以将其作为参数传递给setStream()
方法。
如果您不想直接指定流,可以打开远程流,创建位图,然后使用WallpaperManager实例或执行context.setWallpaper(bitmap)
(不推荐)将位图设置为壁纸。
作为参考,请查看此线程。