我有一個九插件圖像背景的小部件。 圖像保存在/ sdcard/mydir/bgs中。Android - 無法打開的內容:file:/// storage/emulated/0
當我嘗試加載與setImageViewUri方法的圖像,我有這樣的錯誤:
Unable to open content: file:///storage/emulated/0/sdcard/mydir/bgs
..
然後
...
open failed: EACCES (Permission denied)
這隻出現在主屏幕上,只有Nexus 10和Nexus 7(最新的啓動器4.4這個bug沒有存在)。我的應用程序上也有一些RemoteView,並且都能正常工作。
我也將READ_EXTERNAL_STORAGE或WRITE_EXTERNAL_STORAGE添加到了清單中。
我該如何解決?
更新:我檢查了setImageViewUri方法,我發現它改變了我的文件的路徑。
if (value != null) {
// Resolve any filesystem path before sending remotely
value = value.getCanonicalUri();
if (StrictMode.vmFileUriExposureEnabled()) {
value.checkFileUriExposed("RemoteViews.setUri()");
}
}
此方法接收我的值(/ SD卡/ MYDIR/BGS)和改變它代入(存儲/模擬/ 0/SD卡/ MYDIR/BGS)。但是這個文件不是通過adb存在於系統中的。
分享你的代碼,並發表您的全logcat的輸出。 –