0

我正在开发一个应用程序,其中有一个图片库。当我选择一个图像时,它会在另一个( )fragment中打开并以全屏模式显示。imageViewandroid:id="@+id/gallery_image"

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

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

4

1 回答 1

0

更新:

将图像传递给原生壁纸应用程序:

Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
startActivity(Intent.createChooser(intent, "Select Wallpaper"));

您可以在您的应用程序中创建一个项目,contextMenuSet 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" />
于 2013-09-12T18:53:36.320 回答