Android Q適配攻略(五)(存儲權限變更)

Android Q之提前適配攻略(一)(圖標適配)

Android Q之提前適配攻略(二)(後臺定位適配)

Android Q之提前適配攻略(三)(唯一標識符更改)

Android Q之提前適配攻略(四)(後臺Activity啓動限制)

Android Q之提前適配攻略(五)(讀取權限變更)

 

數據隱私保護:沙盒機制

對於 Android 用戶來說,這是一項非常優秀的改進。自從 Android M 以來,我已經遇到許多不給讀寫外存權限就無法使用的 App 了。結果是打開文件管理就能看到一堆亂七八糟的文件和文件夾,這對習慣自己整理存儲空間的人來說太痛苦了。

但讀寫外存的權限並非必要的。通過Context.getExternalFilesDir可以獲取到屬於 App 自身的文件路徑,通常是~/Android/data/<package-name>/**/。在該目錄中讀寫文件均不需要申請權限,當 App 被卸載時,該文件夾及內容也會全部刪除。

Android Q 中刪除了READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE兩項危險權限,限制 App 只能使用自己的應用空間存放文件。

當 App 需要保存一些不能隨卸載刪除的文件時,需要根據存放位置動態申請新增的權限:READ_MEDIA_IMAGES,READ_MEDIA_VIDEOREAD_MEDIA_AUDIO(分別對應系統的媒體文件夾)。 比較特殊的是 Downloads 文件夾:寫入和讀取自身寫入的數據不需要申請權限,但想獲取其他 App 存進去的文件時,必須使用系統的文件選擇器,由用戶選擇。

以上幾個路徑之外的所有位置均不可訪問,是不是很讓人安心呢?

[模擬器測試結果]
測試安裝了一個 targetSdkVersion=26 的 demo 項目,除了動態申請存儲權限時的文案之外一切都沒改變,應該是兼容了 targetSdkVersion 小於 Q 的 App。考慮到應用市場對 targetSdkVersion 要求(今年只要求到28),最晚要在明年 Android R 面世之前完成適配。

 

其他適配相關內容簡報

其他的更新內容估計要等 I/O 之後上真機調試了,就簡要描述一下吧

  • App 在後臺使用定位需要動態申請ACCESS_BACKGROUND_LOCATION
    • 注意:不可單獨申請,原來的定位權限依然需要
  • 提供 摺疊屏/多屏顯示 適配方案(生命週期調整)
  • share intent UI 預加載
  • 設置面板:可以在 App 內喚起簡易設置頁面(網絡/音量/NFC)
  • Wifi 模式選擇(high performance / low latency)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章