android 【儲存相關】preserveLegacyExternalStorage,requestLegacyExternalStorage

wp7ers發表於2024-04-06

   這兩個屬性是與 Android 10(API 級別 29)及更高版本中的外部儲存訪問許可權限制相關的屬性。

  1. android:preserveLegacyExternalStorage="true"

    這個屬性用於在 Android 10 及更高版本上保留舊版的外部儲存訪問模式。在 Android 10 及更高版本中,預設情況下,應用程式只能訪問自己的專用目錄,而不能直接訪問共享的外部儲存目錄。透過設定 android:preserveLegacyExternalStoragetrue,您可以保持應用在舊版的外部儲存訪問模式下的行為,即可以訪問共享的外部儲存目錄。

    這個屬性通常用於相容性考慮,以確保舊版的應用程式可以繼續在 Android 10 及更高版本上正常執行。但請注意,這個屬性在將來的 Android 版本中可能會被移除,因此建議使用新的儲存訪問框架來適配新的許可權模型。

  2. android:requestLegacyExternalStorage="true"

    這個屬性用於在應用的清單檔案(AndroidManifest.xml)中宣告,以請求在 Android 10 及更高版本上使用舊版的外部儲存訪問模式。透過設定 android:requestLegacyExternalStoragetrue,您可以告訴系統將應用視為舊版的應用,以便在 Android 10 及更高版本上繼續使用舊版的外部儲存訪問模式。

    android:preserveLegacyExternalStorage 類似,這個屬性也用於相容性考慮。但同樣需要注意,這個屬性在將來的 Android 版本中可能會被移除,因此建議儘早遷移到新的儲存訪問框架。

相關文章