独自のカスタム背景を選択できるこのライブ壁紙があり、開始直後にアプリがファイルパスが存在するかどうかを確認し、存在しない場合は黒い画面だけを描画するためのフラグを立てます。問題は、電話を再起動するたびに背景が描画されないことですが、ライブ壁紙のプレビューでは描画されます。
Media Scanner か、すべてのディレクトリがまだマウントされていないという事実を強く疑っていますが、どうすればよいですか?
独自のカスタム背景を選択できるこのライブ壁紙があり、開始直後にアプリがファイルパスが存在するかどうかを確認し、存在しない場合は黒い画面だけを描画するためのフラグを立てます。問題は、電話を再起動するたびに背景が描画されないことですが、ライブ壁紙のプレビューでは描画されます。
Media Scanner か、すべてのディレクトリがまだマウントされていないという事実を強く疑っていますが、どうすればよいですか?
私は同じ問題に直面しました。私がやったことは onSharedPreferenceChanged() です。キーをチェックしています。キーが null の場合、すべてのデータを好みから取得しています。エンジンが作成した電話を再起動すると、キーが null として渡されます
どうやら解決策は、 Intent.ACTION_MEDIA_MOUNTED をブロードキャストレシーバーに登録することです。これは、実際の外部メディアがなくても機能するようです (物理的な外部ストレージだけではない外部ストレージ メディアと同じように見えます)。
プレビューをクリックするたびに壁紙エンジンが作成され、壁紙を設定します。問題は、エンジンにある変数にファイルのパスを保持する必要があることです。この変数をクラス レベルにします。それが動作します