2023年3月13日 星期一

Android Studio - Android 12 外部存儲空間介紹(一百零八)

Android Studio - Android 外部存儲空間介紹(一百零八):

介紹了 Android 12 內部存儲空間(Internal Storage),重點是在 Android 12 使用外部存儲空間(External Storage),在 Android 4 ~ Android 9 使用外部存儲器其基本上和內部存儲空間相同,但在 Android 10 開始,要使用外部存儲空間是比較嚴謹。

Android Studio - Android 外部存儲空間介紹(一百零八):
外部存儲空間(External Storage) 區分基礎外部儲存空間(Primary External Storage) 及附加外部儲存空間(Secondary External Storage) 兩種類型,每個類型還區分 APP 專屬目錄及共享目錄。這幾種類型主要差異只有目錄取得的方式,後續的各項操作都大同小異。基礎外部儲存空間是位於手機內部的儲存空間,因此無論有沒有 SD卡,APP 都一定有基礎外部儲存空間可以使用。附加外部儲存空間就是指在基礎外部儲存空間以外的儲存空間,一般常見的就是 SD卡 或是 USB 外接隨身碟。

外部存儲空間(External Storage)分區的特點:
  • 外部分區並不總是可用。
  • 保存在這裡的檔可能被其他程式訪問。
  • 當使用者卸載 APP 時,系統僅僅會刪除 External 中的緩存目錄(Context.getExternalCacheDir())和file目錄(Context.getExternalFilesDir())下的相關檔。
  • 需要申請 WRITE_EXTERNAL_STORAGE 或 READ_EXTERNAL_STORAGE 許可權。

外部存儲空間(External Storage)路徑:

Class

Description

屬性

 

getExternalFilesDir()

/storage/emulated/0/Android/data/ packagename /files/fileName

File

Context

getExternalCacheDir()

/storage/emulated/0/Android/data/ packagename /cache/fileName

File

Context

getExternalMediaDir()

 

File

Context

getExternalStorageDirectory()

/storage/emulated/0

String

Environment

getExternalStoragePublicDirectory()

/storage/emulated/0/file

String

Environment

getExternalStorageState()

mounted

String

Environment

getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)

/storage/emulated/0/DCIM/fileName

File

Environment

DIRECTORY_DCIM=DCIM

DCIM

String

Environment

DIRECTORY_MUSIC

Music

String

Environment

DIRECTORY_PODCASTS

Podcasts

String

Environment

DIRECTORY_RINGTONES

Ringtones

String

Environment

DIRECTORY_ALARMS

Alarms

String

Environment

DIRECTORY_NOTIFICATIONS

Notifications

String

Environment

DIRECTORY_PICTURES

Pictures

String

Environment

DIRECTORY_MOVIES

Movies

String

Environment

DIRECTORY_DOWNLOADS

Download

String

Environment

DIRECTORY_DOCUMENTS

Documents

String

Environment


Android 12 引入了以下存儲空間管理功能:
  • 當應用檢索與給定文檔提供程式 URI 等效的媒體 URI 時,媒體庫支持 MediaDocumentsProvider。
  • 用於錄音的目錄。
  • MANAGE_MEDIA 許可權,此許可權允許應用執行媒體管理操作,而無需針對每項操作向使用者顯示確認對話方塊。
  • 同時具有 MANAGE_EXTERNAL_STORAGE 許可權和 QUERY_ALL_PACKAGES 許可權的應用(例如檔管理應用)可以調用自訂 activity 來管理另一個應用的存儲空間,前提是另一個應用會創建自訂 activity。

2023年 3月 13日(Mon)天氣報告
氣溫:41.0°F / 5.0°C @ 07:00
風速:每小時 14公里
降雨機會:94%
相對濕度:百分之 91%
天氣:雨

沒有留言:

張貼留言