2

我有一个活动,其中有两个按钮和一个 ImageView。一个按钮是从手机的相机应用程序中获取图像并将其设置为 ImageView,另一个按钮是将该图像设置为主屏幕壁纸,所以我想要代码如何将此图像从 ImageView 设置为壁纸? ???

4

3 回答 3

14

第 1 步:获取附加到 ImageView 的图像。

Setp 2:将该图像设置为墙纸。

第 3 步:AndroidManifest.xml在设置壁纸中添加权限!

对于第 1 步,请检查答案!

imageView.buildDrawingCache();
Bitmap bmap = imageView.getDrawingCache();

对于第 2 步:

WallpaperManager m=WallpaperManager.getInstance(this);

try {
    m.setBitmap(bmap);
} catch (IOException e) {
    e.printStackTrace();
}

对于第 3 步:也包括此权限。

<uses-permission android:name="android.permission.SET_WALLPAPER" />

告诉我这是否不适合你!

于 2013-03-15T03:48:50.617 回答
5

这可以分两部分来回答。

第一个是设置WallPaper

WallpaperManager wallManager = WallpaperManager.getInstance(getApplicationContext());
try {
    wallManager.setBitmap(bmpImg);
    Toast.makeText(MainActivity.this, "Wallpaper Set Successfully!!", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
    Toast.makeText(MainActivity.this, "Setting WallPaper Failed!!", Toast.LENGTH_SHORT).show();
}

第二部分是可选的,只有在你没有为你的ImageView. 在这种情况下,您需要在设置之前执行此步骤WallPaper

Bitmap bmpImg = ((BitmapDrawable)yourImageView.getDrawable()).getBitmap();
于 2013-03-15T03:42:54.103 回答
0

设置壁纸:

            Bitmap bitmapImg = ((BitmapDrawable) YourImageView.getDrawable()).getBitmap();

            WallpaperManager wallManager = WallpaperManager.getInstance(getApplicationContext());
            try {
                wallManager.clear();
                wallManager.setBitmap(bitmapImg);


            } catch (IOException ex) {

            }

您必须在清单文件中添加两个权限

1. <uses-permission android:name="android.permission.SET_WALLPAPER" />
2. <uses-permission android:name="android.permission.WRITE_SETTINGS" />
于 2015-12-22T13:27:02.413 回答