我有這個動態壁紙,您可以選擇您自己的自定義背景,並立即在啓動應用程序檢查,如果文件路徑存在,如果不是它繪製只是一個黑色的屏幕標誌。事情是,每次我重新啓動手機時,背景都不會繪製,但是它會在動態壁紙預覽中繪製。LiveWallpaper文件存在於手機啓動
我高度懷疑Media Scanner或所有目錄尚未安裝的事實,但我應該怎麼做?
我有這個動態壁紙,您可以選擇您自己的自定義背景,並立即在啓動應用程序檢查,如果文件路徑存在,如果不是它繪製只是一個黑色的屏幕標誌。事情是,每次我重新啓動手機時,背景都不會繪製,但是它會在動態壁紙預覽中繪製。LiveWallpaper文件存在於手機啓動
我高度懷疑Media Scanner或所有目錄尚未安裝的事實,但我應該怎麼做?
顯然,解決方案是使用廣播接收器註冊Intent.ACTION_MEDIA_MOUNTED。這似乎甚至工作沒有任何真正的外部媒體(appearantly同樣的事情,這心不是單單是身體外部存儲外部存儲介質)
壁紙引擎創建每次當你點擊預覽和當你設置壁紙。所以問題是你必須在引擎中的變量中保存一個文件路徑。使這個變量成爲一個班級。它會工作
謝謝,但那不是問題。在重新啓動之前,圖像背景在預覽和主屏幕上都可以正常工作。該路徑順便存儲在SharedPreferences數據庫中。 – Aron
我遇到過同樣的問題。我做的是onSharedPreferenceChanged()我正在檢查密鑰。如果密鑰爲空,那麼我將從偏好中獲取所有數據。 當您重新啓動手機時,您的引擎會被創建,並且會將密鑰傳遞爲空。 –
我面臨同樣的問題。我做的是onSharedPreferenceChanged()我正在檢查密鑰。如果密鑰爲空,那麼我將從偏好中獲取所有數據。當您重新啓動手機時,您的引擎已創建並且會將密鑰傳遞爲空
你有沒有考慮讓該文件的較低分辨率副本到您的動態壁紙時圖像設置,基本上緩存圖像?這種方式媒體掃描器不會干涉,因爲壁紙已經包含其源圖像。 – gkiar
@iKiar嗯我不太明白,你的意思是我應該緩存選定的圖像?因爲關鍵是用戶可以從他們的手機上選擇一個圖像。 – Aron
對不起,我會盡量更清楚。我建議,一旦用戶從他們自己的本地文件中選擇圖像,在將其設置爲背景的過程中,您還可以在本地資源中爲您的應用程序創建一個緩存文件。這樣,啓動時即可使用。如果用戶請求更改圖像,則只需使用新圖像覆蓋之前的緩存文件即可。 – gkiar