安全控件概述
安全控件是系統(tǒng)提供的一組系統(tǒng)實現(xiàn)的ArkUI組件,應(yīng)用集成這類組件就可以實現(xiàn)在用戶點擊后自動授權(quán),而無需彈窗授權(quán)。它們可以作為一種“特殊的按鈕”融入應(yīng)用頁面,實現(xiàn)用戶點擊即許可的設(shè)計思路。
相較于動態(tài)申請權(quán)限的方式,安全控件可基于場景化授權(quán),簡化開發(fā)者和用戶的操作,主要優(yōu)點有:
- 用戶可掌握授權(quán)時機,授權(quán)范圍最小化。
- 授權(quán)場景可匹配用戶真實意圖。
- 減少彈窗打擾。
- 開發(fā)者不必向應(yīng)用市場申請權(quán)限,簡化操作。
- 開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
安全控件堅持僅采集實現(xiàn)業(yè)務(wù)功能所必須的個人數(shù)據(jù),以服務(wù)于用戶的需求,幫助開發(fā)透明、可選、可控的隱私合規(guī)應(yīng)用。
安全控件列表
目前系統(tǒng)提供三類安全控件:
- [粘貼控件(PasteButton)]
該控件對應(yīng)剪貼板讀取特權(quán)。應(yīng)用集成粘貼控件后,用戶點擊該控件,應(yīng)用讀取剪貼板數(shù)據(jù)時不會彈窗提示。
建議使用場景:粘貼控件可以用于任何應(yīng)用需要讀取剪貼板的場景,避免彈窗提示對用戶造成干擾。 - [保存控件(SaveButton)]
該控件對應(yīng)媒體庫寫入特權(quán)。應(yīng)用集成保存控件后,用戶點擊該控件,應(yīng)用會獲取10秒內(nèi)單次訪問媒體庫特權(quán)接口的授權(quán)。
建議使用場景:保存控件可以用于任何應(yīng)用需要保存文件到媒體庫的場景(保存圖片、保存視頻等)。與Picker需要拉起系統(tǒng)應(yīng)用再由用戶選擇具體路徑保存的方式不同,保存控件將直接保存到指定媒體庫路徑,操作更快捷。 - [位置控件(LocationButton)]
該控件對應(yīng)精準定位特權(quán)。應(yīng)用集成位置控件后,用戶點擊該控件,無論應(yīng)用是否申請過或者被授予精準定位權(quán)限,都會在本次前臺期間獲得精準定位的授權(quán),可以調(diào)用位置服務(wù)獲取精準定位。
建議使用場景:應(yīng)用不是強位置關(guān)聯(lián)應(yīng)用(如導航、運動健康等),僅在部分前臺場景需要使用位置信息(如定位城市、打卡、分享位置等)。如果需要長時間使用或是在后臺使用位置信息,建議申請位置權(quán)限。
運作機制
整體方案由安全控件UI組件、安全控件管理服務(wù)、安全控件增強組成:
- UI組件:實現(xiàn)了固定文字圖標的樣式,便于用戶識別,同時提供了相對豐富的定制化能力,便于開發(fā)者定制。
- 控件管理服務(wù):提供控件注冊管理能力、控件臨時授權(quán)機制、管理授權(quán)生效周期,確保應(yīng)用后臺、鎖屏下無法注冊使用安全控件。
- 安全增強:實現(xiàn)了地址隨機化、挑戰(zhàn)值檢查、回調(diào)UI框架復核控件信息、調(diào)用者地址檢查、組件防覆蓋、真實點擊事件校驗等機制,防止應(yīng)用開發(fā)者通過混淆、隱藏、篡改、仿冒等方式濫用授權(quán)機制,泄露用戶隱私。
開發(fā)者調(diào)用接口時,運作流程如圖所示。
- 應(yīng)用開發(fā)者在ETS文件中集成安全控件,通過JS引擎解析后,在ArkUI框架中生成具體的控件。
- 安全控件注冊控件信息到安全控件管理服務(wù),安全控件管理服務(wù)檢查控件信息的合法性。
- 用戶點擊事件分發(fā)到安全控件。
- 安全控件將點擊事件上報到安全控件管理服務(wù)。
- 安全控件管理服務(wù)根據(jù)控件種類對應(yīng)不同權(quán)限,調(diào)用權(quán)限管理服務(wù)進行臨時授權(quán)。
- 授權(quán)成功后,安全控件回調(diào)OnClick通知應(yīng)用層授權(quán)成功。
- 應(yīng)用調(diào)用相應(yīng)的特權(quán)操作,如獲取地理位置、讀取剪貼板信息、媒體庫中創(chuàng)建文件等。 不同類型的安全控件,對于權(quán)限的使用方式不同、授權(quán)的有效期也不同,詳情請參考開發(fā)指導。
- 對應(yīng)的服務(wù)會調(diào)用權(quán)限管理服務(wù)或安全控件管理服務(wù),獲取授權(quán)結(jié)果,返回鑒權(quán)結(jié)果。
約束與限制
安全控件因其自動授權(quán)的特性,為了保障用戶的隱私不被惡意應(yīng)用獲取,針對安全控件作了很多的限制。應(yīng)用開發(fā)者需保證安全控件在應(yīng)用界面上清晰可見、用戶能明確識別,防止因覆蓋、混淆等因素導致授權(quán)失敗。
當因控件樣式不合法導致授權(quán)失敗的情況發(fā)生時,請開發(fā)者檢查設(shè)備錯誤日志,過濾關(guān)鍵字"SecurityComponentCheckFail"可以獲取具體原因。
說明: 請開發(fā)者關(guān)注過濾條件下,所有級別的日志。
HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
可能會導致授權(quán)失敗的問題(包括但不限于):
- 字體、圖標尺寸過小。
- 安全控件整體尺寸過大。
- 字體、圖標、背景按鈕的顏色透明度過高。
- 字體或圖標與背景按鈕顏色過于相似。
- 安全控件超出屏幕、超出窗口等,導致顯示不全。
- 安全控件被其他組件或窗口遮擋。
- 安全控件的父組件有類似變形模糊等可能導致安全控件顯示不完整的屬性。
審核編輯 黃宇
-
控件
+關(guān)注
關(guān)注
0文章
156瀏覽量
17291 -
鴻蒙
+關(guān)注
關(guān)注
59文章
2571瀏覽量
43891
發(fā)布評論請先 登錄
鴻蒙開發(fā)接口Ability框架:【@ohos.application.Ability (Ability)】

鴻蒙開發(fā)接口Ability框架:【 (Context模塊)】

鴻蒙Ability開發(fā)-Stage模型下Ability的創(chuàng)建和使用
跟阿斌一起學鴻蒙(2): Ability vs App?
鴻蒙應(yīng)用模型:【Ability Kit】簡介

鴻蒙Ability Kit(程序框架服務(wù))【Ability內(nèi)頁面間的跳轉(zhuǎn)】

鴻蒙Ability Kit(程序框架服務(wù))【Ability與ServiceExtensionAbility通信】

鴻蒙開發(fā)Ability Kit程序框架服務(wù):訪問控制概述 程序訪問控制

鴻蒙開發(fā)Ability Kit程序框架服務(wù):應(yīng)用權(quán)限管控概述 程序訪問控制

鴻蒙開發(fā)Ability Kit程序訪問控制:向用戶申請單次授權(quán)

鴻蒙開發(fā)Ability Kit程序訪問控制:申請使用受限權(quán)限

鴻蒙開發(fā)Ability Kit程序訪問控制:對所有應(yīng)用開放

鴻蒙開發(fā)Ability Kit程序訪問控制:使用粘貼控件

鴻蒙開發(fā)Ability Kit程序訪問控制:使用保存控件

鴻蒙開發(fā)Ability Kit程序訪問控制:使用位置控件

評論