このコードを使用して壁紙を設定しました:
void SetWallPaper(Context MyContext, Bitmap MyBitmap)
{ WallpaperManager wpm = WallpaperManager.getInstance(MyContext);
wpm.setBitmap(MyBitmap);
}
それはうまく機能し、ビットマップは常に壁紙として設定されます。しかし、私の問題は、画面を更新するまで、電話画面に最後の壁紙が何度も表示されることです。画面を更新するには、次の方法があります。 1. 指を使って、あるデスクトップから別のデスクトップに切り替える。これにより、壁紙が更新されます。2. ホーム画面全体をカバーするアクティビティを作成するアプリケーションを開く。それを終了すると、ホーム画面が更新され、最後に設定されたビットマップが表示されます。
クレイジーに聞こえるかもしれませんが、その結果、壁紙は変更されましたが、電話で再描画する必要があるか、そのようなものになるまで表示されません。それで、電話を強制的に再描画または更新させる方法はありますか?