3

Intent.ACTION_ATTACH_DATA を使用して画像を壁紙として設定する方法に関するサンプル コードはたくさんありますが、新しい Google フォト アプリではどれも機能しません。

私は通知からこれをやろうとしています。ユーザーが画像をギャラリーに保存すると、画像が保存されると通知が表示され、ユーザーが通知の「設定」アクションをクリックすると、「設定」ウィンドウが表示されます。

画像を壁紙として設定する実際の部分を除いて、これはすべて機能しています。

インテントを開始するたびに、通常のオプションのリストが表示されます。

ここに画像の説明を入力

Google フォトの「壁紙」オプションを選択すると、次のようなトリミング ウィンドウが表示されます。

ここに画像の説明を入力

これは「壁紙として設定」ウィンドウではなく、ギャラリーに保存したばかりの写真を変更するだけです。

「ホーム画面」、「ロック画面」、「ホームとロック画面」などの他のオプションはすべて機能しますが、解像度が低くなります。

私は何が欠けていますか?

これは私のコードです(私の画像タイプはpngです)

//Set as Intent
Intent setAsIntent = new Intent(Intent.ACTION_ATTACH_DATA);
setAsIntent.setDataAndType(uri, "image/*");

//PendingIntent to be used with the notification
PendingIntent setAsPendingIntent =
                PendingIntent.getActivity(
                        getContext(),
                        1,
                        Intent.createChooser(setAsIntent, "Set as: "),
                        PendingIntent.FLAG_UPDATE_CURRENT
                );
4

0 に答える 0