Android Q 位置權限變更

liy Elaine
liy Elaine
Published in
4 min readDec 20, 2020

由於目前趨勢 越加重視 隱私權的部分,Android 在 Android Q 版本,位置權限的部分,需要特別詢問使用者是否可以背景定位。如果只有請求一般的位置權限,應用程序無法在背景取得使用者位置資訊。

版本差異:

Android Q 之前

在 Android Q 之前,並不需要另外請求 後台定位的權限 ,只需要請求 “前景定位權限” ACCESS_FINE_LOCATION 或ACCESS_COARSE_LOCATION 權限 ,就有辦法在 背景繼續定位使用者位置。

參考網路上圖片

Android Q

而 在Android Q 版本或以上 ,除了 “前景定位權限”(ACCESS_FINE_LOCATION 或ACCESS_COARSE_LOCATION 權限),我們需要再特別請求 ACCESS_BACKGROUND_LOCATION,才有辦法在使用者不使用App 時(背景),也能取得位置資訊 ,通常會用在 長時間 需要定位使用者資訊的應用程序,大部分的功能 並不會需要這樣做。

參考網路上圖片

請求方式變更 :

Android Q 之前

在這個版本只需 擇一 請求 “前景定位權限” ACCESS_FINE_LOCATION 或ACCESS_COARSE_LOCATION 權限。

如果按了拒絕,下次再請求 會出現 Dont ‘t ask again 的勾選框,如果勾選之後,App 就無法再詢問權限

Android Q

到了 Android Q 版本,如果App 需要執行 背景定位,我們需要在 “前景定位權限”(ACCESS_FINE_LOCATION 或ACCESS_COARSE_LOCATION 權限)被允許之後 ,再請求 ACCESS_BACKGROUND_LOCATION 。要請求這個權限,必須 “前景定位權限” (ACCESS_FINE_LOCATION 或ACCESS_COARSE_LOCATION 權限)被同意之後才有辦法請求 “背景定位權限” ( ACCESS_BACKGROUND_LOCATION)

先請求 “前景定位權限” (ACCESS_FINE_LOCATION 或ACCESS_COARSE_LOCATION 權限)。

跟 之前版本不同的地方,在 Q 或以上的版本 ,App 會改問使用者 “僅在使用該應用程式時允許”。

使用者如果 按下 “僅在使用該應用程式時允許”,表示同意了 “前景定位權限”,在確定“前景定位權限”同意的情形之下,再詢問 “背景 定位權限”。

如果覺得麻煩,可以一次請求 前背景 定位權限。

Title 會是 “要允許 「 … 」存取這個裝置的位置資訊嗎?”,這時候如果使用者點選了 “一律允許” 便是 前背景 定位權限都同意,如果使用者點選了 “僅在使用該應用程式時允許” 表示 App 只有取得 前景 定位權限,表示在使用者不使用者 該程序時 (背景狀態),並無法取得 使用者 位置資訊。

在使用者點選 “僅在使用該應用程式時允許” 的情形下 (只允許 前景 定位), 如果 應用程序仍想追加 “背景 定位權限” 是可以的,可以 再詢問使用者 “背景 定位權限” 是否可被允許

會跳出如下對話框,大標題會是 要 “一律允許” 「 … 」 存取這個裝置的位置資訊嗎? 小標題 是 目前應用程式只有在你使用時才能存取位置。

只要使用者點選了 “一律允許” 便是前後台的 前背景 定位權限都同意,“維持僅在使用時允許”,就是維持 只允許 前景 定位權限。

使用者如果覺得你很煩,他就可以點選第三個選項 “維持原狀且不要再詢問” XDD

--

--