向用戶申請(qǐng)單次授權(quán)
基于授權(quán)最小化的原則,防止應(yīng)用獲取和濫用用戶數(shù)據(jù),針對(duì)部分應(yīng)用敏感權(quán)限,在彈窗向用戶申請(qǐng)授權(quán)時(shí),新增“允許本次使用”的授權(quán)選項(xiàng)。
開(kāi)發(fā)者在開(kāi)發(fā)應(yīng)用時(shí),無(wú)需額外配置,仍然調(diào)用requestPermissionsFromUser()[向用戶申請(qǐng)授權(quán)],系統(tǒng)會(huì)根據(jù)該能力[支持的權(quán)限],彈出對(duì)應(yīng)的彈窗。
授權(quán)彈窗如下圖所示:
設(shè)置中的選項(xiàng)如下圖所示:
路徑:設(shè)置 > 隱私 > 權(quán)限管理 > 應(yīng)用 > 目標(biāo)應(yīng)用 > 位置信息
支持范圍
當(dāng)前僅支持下列權(quán)限,當(dāng)應(yīng)用向用戶申請(qǐng)下列權(quán)限時(shí),彈窗將會(huì)出現(xiàn)“允許本次使用”的授權(quán)選項(xiàng),設(shè)置中修改權(quán)限將會(huì)出現(xiàn)“每次詢問(wèn)”授權(quán)選項(xiàng)。
- 剪切板:["ohos.permission.READ_PASTEBOARD"]
- 模糊位置:["ohos.permission.APPROXIMATELY_LOCATION"]
- 位置:["ohos.permission.LOCATION"]
- 后臺(tái)位置:["ohos.permission.LOCATION_IN_BACKGROUND"]
- 開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
使用限制
- 當(dāng)用戶點(diǎn)擊了“允許本次使用”按鈕,將會(huì)對(duì)應(yīng)用授予臨時(shí)的權(quán)限。
- 當(dāng)應(yīng)用切換至前臺(tái)、應(yīng)用展開(kāi)卡片且處于當(dāng)前屏幕可見(jiàn)即[卡片可見(jiàn)]或者[設(shè)置后臺(tái)長(zhǎng)時(shí)任務(wù)]的時(shí)候(當(dāng)前僅支持定位導(dǎo)航長(zhǎng)時(shí)任務(wù)),應(yīng)用的臨時(shí)權(quán)限會(huì)一直保持。
其他情況下啟動(dòng)計(jì)時(shí)器,十秒之后,取消臨時(shí)權(quán)限,想要再次獲取,需要重新授予。 - 當(dāng)應(yīng)用切了后臺(tái),開(kāi)始十秒計(jì)時(shí),如果在計(jì)時(shí)期間,應(yīng)用處于卡片可見(jiàn)下或者設(shè)置了后臺(tái)長(zhǎng)時(shí)任務(wù),計(jì)時(shí)停止。
HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
- 當(dāng)應(yīng)用切換至前臺(tái)、應(yīng)用展開(kāi)卡片且處于當(dāng)前屏幕可見(jiàn)即[卡片可見(jiàn)]或者[設(shè)置后臺(tái)長(zhǎng)時(shí)任務(wù)]的時(shí)候(當(dāng)前僅支持定位導(dǎo)航長(zhǎng)時(shí)任務(wù)),應(yīng)用的臨時(shí)權(quán)限會(huì)一直保持。
直到卡片不可見(jiàn)或者長(zhǎng)時(shí)任務(wù)結(jié)束,再次開(kāi)啟十秒計(jì)時(shí),計(jì)時(shí)結(jié)束之后,取消臨時(shí)授權(quán)。
如下圖樣例所示,相機(jī)應(yīng)用處于卡片可見(jiàn)狀態(tài):
- 當(dāng)用戶在權(quán)限設(shè)置中選擇了“每次詢問(wèn)”按鈕,將會(huì)對(duì)應(yīng)用授予模糊位置與位置臨時(shí)權(quán)限,取消臨時(shí)授權(quán)同上。
審核編輯 黃宇
-
框架
+關(guān)注
關(guān)注
0文章
403瀏覽量
17502 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2358瀏覽量
42876
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論