我正在开发一个app,里面有一个图片库。当我选择图片时,它会在fragment
(imageView
)中的另一个android:id="@+id/gallery_image"
中打开,并以全屏模式显示。
一切都运作良好。但我需要将该图像设置为设备壁纸的功能。打开图像后,当用户按下菜单按钮时,将出现选项菜单,其中只有一个名为“用作壁纸”的菜单项。在单击该项目时,android设置为壁纸的默认意图(可能是android.intent.action.SET_WALLPAPER
)将为用户提供将该图像设置为该设备的壁纸的选项。裁剪或其他壁纸设置功能将由android处理。
我不知道如何打开壁纸设置意图,同时将该图像传递给该意图设置为壁纸。请给我一些工作代码示例。或者有更好的方法吗?
答案 0 :(得分:0)
<强>更新强>
将图片传递给原生壁纸应用:
Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
startActivity(Intent.createChooser(intent, "Select Wallpaper"));
您可以在应用中contextMenu
创建Set as wallpaper
项目,当用户点按该项目时,您可以使用此代码。
调用此方法将所选图像设置为墙纸:
public void setWallpaper() {
Context context = this.getBaseContext();
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(),mImageIds[pos]);
context.setWallpaper(mBitmap);
}
并在Android Manifest
文件中添加此权限:
<uses-permission android:name="android.permission.SET_WALLPAPER" />