隨着移動設備的普及,人們越來越依賴於它們來管理自己的數據。在 Android 11 中,文件訪問權限得到了進一步的加強和限制,這是出於安全和隱私保護的考慮。本文將從多個方面對 Android 11 文件管理訪問限制進行詳細的闡述。
一、Android11文件管理訪問限制三星
三星在 Android 11 中引入了一項新功能,稱為“外部存儲訪問限制”(External Storage Access Restrictions),它可以限制應用程序訪問外部存儲器中的文件。開發人員可以將其視為“Scoped Storage”的擴展,它沒有徹底摒棄外部存儲,並允許開發人員以安全的方式訪問。
<application> <provider android:name="androidx.core.content.FileProvider" android:authorities="com.example.fileprovider" android:grantUriPermissions="true" android:requestLegacyExternalStorage="false" android:exported="false"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider> </application>
在傳統的 Scoped Storage 中,開發人員無法訪問存儲在外部存儲器中的任何文件或目錄。但是,對於三星設備來說,這種限制被放鬆了。開發人員可以使用“外部存儲訪問限制”API請求訪問外部存儲器,這可以使他們能夠訪問與應用程序在同一位置下的文件,但是他們無法訪問其他應用程序的文件。
二、Android11文件管理夾
在 Android 11 中,文件夾也受到了保護。開發人員無法通過訪問路徑來訪問文件夾,這可以防止應用程序越權訪問用戶個人或敏感數據。
File downloadsFolder = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_DOWNLOADS).getAbsolutePath());
相反,開發人員必須使用系統文件選擇器 API來訪問用戶的文件夾。這確保了用戶可以選擇要接受的文件,以及應用程序可以只訪問一小部分選定文件的內容。
三、Android11文件管理訪問限制iQOO
iQOO是一個中國製造商,他們也加入了 Android 11 的文件管理訪問限制。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
像三星一樣,iQOO允許應用程序訪問與應用程序在同一位置下的文件,並使用外部存儲訪問限制 API 支持這一點。但是,如果您需要訪問其他應用程序的文件,則需要使用 SAF(Storage Access Framework)。
四、文件管理data訪問限制
文件管理 data 訪問限制是 Android 11 引入的另一個新功能。當您嘗試從一個應用程序中訪問另一個應用程序的 data 目錄時,系統會提示您獲取訪問權限,this是一個新的操作系統級 API。
Intent intent = new Intent(Intent.ACTION_PICK_ACTIVITY); intent.putExtra(Intent.EXTRA_TITLE, "選擇應用程序"); intent.putExtra(Intent.EXTRA_INTENT, new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER)); startActivityForResult(intent, REQUEST_CODE_PICK_APP);
當您的應用程序試圖訪問另一個應用程序的 data 目錄時,系統會在運行時請求訪問權限,用戶可以選擇授予權限或拒絕授權。這確保了用戶可以保護他們的敏感信息,同時允許具有權威和不受限制的應用程序訪問它們的數據。
五、Android訪問限制
Android 訪問限制是防止跨域訪問的一種機制。應用程序僅可以訪問由它們創建的內容或在其間提供了用戶明確的訪問權限的目錄。
String directoryName = "MyDirectory"; File file = new File(getFilesDir(), directoryName); if (!file.exists()) { file.mkdir(); } String path = file.getAbsolutePath();
例如,如果您的應用程序創建了一個目錄,那麼只有您的應用程序才能訪問該目錄。其他應用程序無法訪問該目錄,這可以保護數據不受越權訪問。
總結
總之,Android 11 的文件管理訪問限制旨在保護用戶的隱私和安全,這對於移動設備上保存的數據尤為重要。開發人員應該遵循這些新的限制和規則來確保他們的應用程序與最新的操作系統兼容並能夠保護用戶的數據。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/239907.html