Android Q讓用戶優(yōu)雅地管理位置權(quán)限
應(yīng)用可以利用位置數(shù)據(jù)為 Android 用戶帶去精彩豐富的移動(dòng)體驗(yàn),如搜索附近美食,跟蹤跑步距離,行車導(dǎo)航等等。然而,位置數(shù)據(jù)同樣也屬于高度敏感的個(gè)人信息之一。我們想要為用戶提供一種簡單易懂的控制模式,方便他們管理與應(yīng)用共享的位置數(shù)據(jù)。因此,隨著 Android Q 的發(fā)布,我們給予了用戶更多位置控制,并將這些控制交予給用戶。我們很高心看到開發(fā)者們在應(yīng)用中揮灑創(chuàng)意,匠心打造卓越的位置體驗(yàn),與此同時(shí),我們也希望盡己所能,全力協(xié)助各位平穩(wěn)過渡至新的位置管理模式。本文將針對以下三個(gè)問題展開深度探討:
- Android Q 引入了哪些位置權(quán)限變更
- 您的應(yīng)用將受到哪些影響
- 您又應(yīng)該從何著手進(jìn)行必要更新
過去,用戶在位置權(quán)限上只有兩種選擇,即允許或拒絕應(yīng)用訪問設(shè)備位置,而且一旦授予后,該權(quán)限并不會(huì)隨應(yīng)用狀態(tài)的改變 (進(jìn)入或退出使用狀態(tài)) 而發(fā)生變化。Android Q 在此基礎(chǔ)上新增了一個(gè)選項(xiàng),允許用戶選擇只在應(yīng)用使用期間,即當(dāng)應(yīng)用運(yùn)行在前臺(tái)時(shí),與應(yīng)用共享位置信息。這意味著 Android Q 用戶可通過以下三種方式對位置權(quán)限進(jìn)行管理:
- 始終允許: 應(yīng)用可在任何時(shí)段獲取位置信息
- 僅在使用期間允許: 應(yīng)用只能在被使用時(shí)獲取位置信息
- 拒絕: 應(yīng)用無法獲取設(shè)備的位置信息
部分應(yīng)用和功能僅在使用時(shí)才需要訪問設(shè)備位置,比如說,假如用戶試圖搜索附近餐廳,那應(yīng)用只需在用戶打開應(yīng)用并進(jìn)行搜索時(shí),獲取設(shè)備的地理位置即可。
但是其它應(yīng)用的場景則略有不同,即使在非使用時(shí)段,它們?nèi)耘f需要持續(xù)進(jìn)行定位。例如: 一些應(yīng)用可為用戶自動(dòng)記錄行駛里程,幫助他們進(jìn)行報(bào)稅,而且全過程無需用戶參與。
在新的位置管理模式下,用戶可自行決定設(shè)備共享位置數(shù)據(jù)的時(shí)段,同時(shí)防止應(yīng)用獲取不必要的位置信息。當(dāng)應(yīng)用請求訪問權(quán)限時(shí),屏幕會(huì)彈出如圖所示的對話框,向用戶顯示新的權(quán)限選項(xiàng)。用戶可點(diǎn)擊設(shè)置 → 位置信息 → 應(yīng)用權(quán)限,隨時(shí)更改應(yīng)用的訪問權(quán)限。
輕松上手
我們深知這些變更可能會(huì)對您的應(yīng)用造成影響。我們十分尊重開發(fā)者社區(qū),而我們的目標(biāo)是謹(jǐn)慎對待所有此類變更,因此,我們會(huì)從以下兩方面入手,助力各位開發(fā)者應(yīng)對新的位置管理:
在*** Q Beta 版本中推出對開發(fā)者有影響的特性,給您預(yù)留充足時(shí)間對應(yīng)用進(jìn)行必要更新。
陸續(xù)發(fā)布更多學(xué)習(xí)資源,如開發(fā)者博客、開發(fā)者指南和隱私清單,為您提供更多細(xì)節(jié)內(nèi)容。
如果應(yīng)用的目標(biāo)平臺(tái) (targetSdkVersion) 為 Android Q 且包含需要 "始終" 訪問設(shè)備當(dāng)前位置的功能,請您在清單文件中添加新的 ACCESS_BACKGROUND_LOCATION 權(quán)限。如果應(yīng)用的目標(biāo)平臺(tái)是 Android 9 (API 等級(jí) 28) 或更低版本系統(tǒng),當(dāng)您請求 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION 時(shí),系統(tǒng)會(huì)自動(dòng)為應(yīng)用添加 ACCESS_BACKGROUND_LOCATION 權(quán)限。為了維持良好的用戶體驗(yàn),請您仔細(xì)設(shè)計(jì)應(yīng)用,確保應(yīng)用妥善處理權(quán)限受限的情況,即無法從后臺(tái)訪問設(shè)備位置或完全無法獲取位置信息。
如果用戶知道應(yīng)用需要相應(yīng)權(quán)限的原因,他們會(huì)更容易接受權(quán)限請求。另外,對于需要授予權(quán)限才能使用的功能,請您務(wù)必結(jié)合具體場景,選擇恰當(dāng)?shù)恼埱髸r(shí)機(jī): 當(dāng)用戶啟用該功能或與之發(fā)生交互時(shí),如正在搜索附近內(nèi)容,再發(fā)起請求。***,其您避免請求過多權(quán)限,也就是說,如果應(yīng)用中的某項(xiàng)功能只需要 "使用期間" 權(quán)限,那就沒必要請求 "始終允許" 權(quán)限。