2 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
關(guān)于您關(guān)于從 url 獲取圖像的第一個(gè)問題,而不是使用asFile
,建議您使用該方法downloadOnly()
。AsyncTask
然后,您可以利用 aRequestListener
在加載資源時(shí)獲取異步回調(diào),而不是使用 an 。
至于你的第二個(gè)問題,你正在廣播一個(gè)未被操作系統(tǒng)或你設(shè)備上的任何應(yīng)用程序注冊(cè)的隱式意圖。您可以嘗試?yán)孟到y(tǒng)服務(wù),而不是廣播意圖WallpaperManager
。

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
回答我自己的問題
最好
downloadOnly()
按照 Elli White here的建議使用。但是我在研究這個(gè)問題上浪費(fèi)了足夠多的時(shí)間,并且得到了一個(gè)可行的解決方案,所以我決定不從頭開始。我得到的錯(cuò)誤是因?yàn)?Glide 返回的圖像文件名。
我通過將文件復(fù)制到某處并將其用作源來修復(fù)它。
val file = asyncTask.get()
// copy file
val tempFile = File.createTempFile("image", ".png")
copyFile(file!!.inputStream(), FileOutputStream(tempFile))
對(duì)于我的用例,即將圖像設(shè)置為墻紙,我不必?fù)?dān)心文件擴(kuò)展名,只要我.png在這種情況下指定它是圖像即可。
添加回答
舉報(bào)