0
我用ChooserIntent將文件添加到我的應用程序。FileUriExposedException同時下載從OneDrive文件與ChooserIntent
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
intent.setType("*/*");
Intent chooserIntent = Intent.createChooser(intent,"Choose file to import";
startActivityForResult(chooserIntent, FILE_REQUEST_CODE);
通常,例如選擇一個文件,例如從內部或外部存儲圖片時,它返回一個內容://烏里在onActivityResult()。這也正常工作與Dropbox和大多數其他存儲介質,但使用OneDrive時,它返回一個文件://烏里導致Android SDK中一個FileUriExposedException 24+。
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=42, result=-1, data=Intent
{ act=android.intent.action.GET_CONTENT dat=file:///data/user/0/com.microsoft.skydrive/no_backup/stream_cache/[email protected]/5761/bewerbung.rtf typ=text/rtf flg=0x1000003 cmp=com.microsoft.skydrive/.intent.getcontent.ReceiveGetContentActivity }}
to activity {com.android.documentsui/com.android.documentsui.picker.PickActivity}:
android.os.FileUriExposedException: file:///data/user/0/com.microsoft.skydrive/no_backup/stream_cache/[email protected]/5761/bewerbung.rtf exposed beyond app through Intent.getData()
我不是如何讓OneDrive返回文件與內容:// URI(最好)或避免崩潰我的應用程序異常?
你確定你使用的是最新OneDrive應用?他們本應該在〜9個月前解決這個問題,那就是Android 7.0的出貨時間。您可以通過將'targetSdkVersion'設置爲24以避免此問題,但這只是一個臨時解決方案。 – CommonsWare
是的,我是用從6月21日的最新版本,我想我會發送消息到Onedrive支持,看看他們有什麼建議,或者如果他們可以改變任何事情。謝謝 :) –