Android用作壁纸功能

时间:2013-09-12 18:36:23

标签: android wallpaper

我正在开发一个app,里面有一个图片库。当我选择图片时,它会在fragmentimageView)中的另一个android:id="@+id/gallery_image"中打开,并以全屏模式显示。

一切都运作良好。但我需要将该图像设置为设备壁纸的功能。打开图像后,当用户按下菜单按钮时,将出现选项菜单,其中只有一个名为“用作壁纸”的菜单项。在单击该项目时,android设置为壁纸的默认意图(可能是android.intent.action.SET_WALLPAPER)将为用户提供将该图像设置为该设备的壁纸的选项。裁剪或其他壁纸设置功能将由android处理。

我不知道如何打开壁纸设置意图,同时将该图像传递给该意图设置为壁纸。请给我一些工作代码示例。或者有更好的方法吗?

1 个答案:

答案 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" />