0

画像ギャラリーがあるアプリを開発しています。fragment画像を選択すると、imageView( )内に別の画像が開き、android:id="@+id/gallery_image"フルスクリーン モードで表示されます。

すべてがうまく機能します。しかし、その画像をデバイスの壁紙として設定する機能が必要です。画像を開いた後、ユーザーがメニュー ボタンを押すと、オプション メニューが表示され、「壁紙として使用」という名前のメニュー項目が 1 つだけ表示されます。その項目をクリックすると、壁紙として設定する 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"));

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" />
于 2013-09-12T18:53:36.320 に答える