2

2 つのボタンと ImageView があるアクティビティがあります。1 つのボタンは、電話のカメラ アプリケーションから画像を取得し、それを ImageView に設定することです。もう 1 つのボタンは、その画像をホーム画面の壁紙として設定することです。この画像を ImageView から壁紙に設定する方法のコードが必要ですか? ??????

4

3 に答える 3

14

ステップ 1: ImageView に添付された画像を取得します。

設定 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

これは 2 つの部分で答えることができます。

最初の設定は次の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();
}

2 番目の部分はオプションであり、ビットマップを に設定していない場合にのみ表示されます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) {

            }

マニフェスト ファイルに 2 つのアクセス許可を追加する必要があります

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