在 Android R 上,我可以在下載檔案夾中寫入檔案。如果我嘗試讀取檔案,我會收到 IOException 訪問被拒絕。
zis = new ZipInputStream(new BufferedInputStream(new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()
"/Download/saves.zip")));
在 Android R 上讀取檔案或從哪個檔案夾讀取檔案的正確方法是什么?
我正在使用
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
android:requestLegacyExternalStorage=”true”
編輯:新代碼
ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.Downloads.DISPLAY_NAME, "saves.zip");
contentValues.put(MediaStore.Downloads.MIME_TYPE, "application/zip");
Uri uri = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
uri = MediaStore.Downloads.getContentUri(MediaStore.VOLUME_EXTERNAL);
}
Uri itemUri = getContentResolver().insert(uri, contentValues);
zis = new ZipInputStream(getContentResolver().openInputStream(itemUri));
uj5u.com熱心網友回復:
從 Android 11 開始,使用作用域存盤模型的應用只能訪問它們自己的特定于應用的快取檔案。
所以最好使用應用程式的共享資料檔案夾來寫入/讀取您的檔案。
這是完整的描述。
https://developer.android.com/about/versions/11/privacy/storage#permissions-target-11
uj5u.com熱心網友回復:
在 Android R 上,我可以在下載檔案夾中寫入檔案。
如果您的應用程式可以在某處寫入檔案,那么它當然可以讀取該檔案。
你的問題沒有意義。
有什么你沒有說的嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/360313.html
標籤:安卓 安卓工作室 android-11
