選擇申請權限的方式
應用在訪問數據或者執行操作時,需要評估該行為是否需要應用具備相關的權限。如果確認需要目標權限,則需要在應用安裝包中申請目標權限。
每一個權限的權限等級、授權方式不同,申請權限的方式也不同,開發者在申請權限前,需要先根據以下流程判斷應用能否申請目標權限。

上圖的數字標注,請參考以下說明:
- 標注1:應用APL等級與權限等級的匹配關系請參考[APL等級說明]。
- 標注2:權限的授權方式分為user_grant(用戶授權)和system_grant(系統授權),具體請參考[授權方式說明]。
- 開發前請熟悉鴻蒙開發指導文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]- 如果目標權限是system_grant類型,開發者在進行權限申請后,系統會在安裝應用時自動為其進行權限預授予,開發者不需要做其他操作即可使用權限。
- 在應用需要獲取user_grant權限時,請完成以下步驟:
- 在配置文件中,聲明應用需要請求的權限。
- 將應用中需要申請權限的目標對象與對應目標權限進行關聯,讓用戶明確地知道,哪些操作需要用戶向應用授予指定的權限。
- 運行應用時,在用戶觸發訪問操作目標對象時應該調用接口,精準觸發動態授權彈框。該接口的內部會檢查當前用戶是否已經授權應用所需的權限,如果當前用戶尚未授予應用所需的權限,該接口會拉起動態授權彈框,向用戶請求授權。
- 檢查用戶的授權結果,確認用戶已授權才可以進行下一步操作。
- 標注3:應用可以通過ACL(訪問控制列表)方式申請高級別的權限。
應用可根據目標權限的開放范圍、授權方式,參考以下操作路徑申請對應權限。
normal等級應用申請權限的方式
| 權限類型 | 授權方式 | 操作路徑 |
|---|---|---|
| [所有應用可申請] | system_grant | [聲明權限] > 訪問接口 |
| [所有應用可申請] | user_grant | [聲明權限] > [向用戶申請授權] > 訪問接口 |
| [允許normal等級應用通過ACL跨級申請] | system_grant | [聲明權限] > [聲明ACL權限] > 訪問接口 |
| [允許normal等級應用通過ACL跨級申請] | user_grant | [聲明權限] > [聲明ACL權限]> [向用戶申請授權] > 訪問接口 |
說明:
- 如果system_basic等級的權限,ACL使能為false,則normal等級應用無法申請該權限。
- 當前可通過DevEco Studio完成[ACL方式跨級別申請權限],但該方法僅用于應用調試階段使用,不可用于發布上架應用市場。如果需要開發商用版本的應用,請在對應的應用市場進行發布證書和Profile文件的申請。
system_basic等級應用申請權限的方式
| 權限等級 | 授權方式 | ACL使能 | 操作路徑 |
|---|---|---|---|
| normal、system_basic | system_grant | - | [聲明權限]> 訪問接口 |
| normal、system_basic | user_grant | - | [聲明權限] > [向用戶申請授權]> 訪問接口 |
| system_core | system_grant | true | [聲明權限]> [聲明ACL權限]> 訪問接口 |
| system_core | user_grant | true | [聲明權限] > [聲明ACL權限] > [向用戶申請授權] > 訪問接口HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |

如果應用需要將自身的APL等級聲明為system_basic及以上,在開發應用安裝包時,需要修改應用的HarmonyAppProvision配置文件即SDK目錄下的“Toolchains / _{Version} _/ lib / UnsgnedReleasedProfileTemplate.json”文件),并重新進行應用簽名。
修改方式:
HarmonyAppProvision配置文件示例如下所示,修改"bundle-info" > "apl" 字段。
"bundle-info" : {
// ...
"apl": "system_basic",
// ...
},
說明: 直接修改HarmonyAppProvision配置文件的方式,僅用于應用調試階段使用,不可用于發布上架應用市場。如果需要開發商用版本的應用,請在對應的應用市場進行發布證書和Profile文件的申請。
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
接口
+關注
關注
33文章
9519瀏覽量
157015 -
框架
+關注
關注
0文章
404瀏覽量
18421 -
鴻蒙
+關注
關注
60文章
2963瀏覽量
45883
發布評論請先 登錄
相關推薦
熱點推薦
SC-3568HA:解鎖鴻蒙全權限API與分布式能力的工業控制平臺
傳統嵌入式開發面臨硬件碎片化、高權限功能缺失、分布式協同復雜及自動化測試不足等痛點。SC-3568HA開發板基于鴻蒙系統,通過統一內核抽象層和硬件驅動
發布元服務配置隱私說明
如果檢測到元服務中涉及獲取敏感隱私權限或者使用受限開放權限,需要填寫“應用隱私說明”。
注意
如果軟件包中聲明使用了受限開放權限,請確保創建的發布Profile也
發表于 11-24 15:19
鴻蒙地圖功能開發【2. 申請Profile文件】##地圖開發##
?如果使用鴻蒙的Map Kit能力進行地圖開發的話,需要在后臺的API管理里面打開“地圖服務”。
如果是在原有項目上增加的話,那么……你需要去申請
發表于 06-29 22:54
鴻蒙應用元服務開發-Account Kit配置登錄權限
參考。
五、開發前提
在進行代碼開發前,請先確認您已完成配置Client ID工作。該場景無需申請scope權限。
六、客戶端開發
導入au
發表于 04-15 16:03
鴻蒙應用元服務開發-Account Kit獲取手機號
、OpenID。
(三)開發前提
1、在進行代碼開發前,請先確認您已完成開發準備工作。
2、元服務獲取手機號之前,需要完成phone(獲取您的手機號)的scope
發表于 04-08 16:14
鴻蒙應用元服務開發-Account Kit獲取收貨地址
可將選擇的收貨地址返回給元服務。
四、開發前提
1、在進行代碼開發前,請先確認您已完成配置Client ID工作。
2、元服務調用獲取收貨地
發表于 04-07 17:15
鴻蒙應用元服務開發-Account Kit獲取華為賬號用戶信息概述
三種獲取頭像的方式:使用華為賬號頭像、從圖庫選擇、拍照,用戶選擇其中一種方式后,Account Kit返回頭像uri給Button,元
發表于 04-02 11:10
鴻蒙應用元服務開發-Account Kit獲發票抬頭
跳轉到發票抬頭管理頁進行增加,用戶點擊確認后將關閉發票抬頭選擇頁面,并返回用戶選擇的發票抬頭。
三、開發前提
在進行代碼開發前,請先確認您已完成配置Client ID工作。該場景無需
發表于 04-01 15:26
鴻蒙應用元服務開發-Account Kit概述
Account Kit(華為賬號服務)提供簡單、快速、安全的登錄功能,讓用戶快捷地使用華為賬號登錄元服務。用戶授權后,Account Kit可提供頭像、手機號碼等信息,幫助元
發表于 03-31 12:08
鴻蒙應用元服務開發-Account Kit 常見問題說明
一、OpenID和UnionID的格式說明
(一)長度
為減少開發者接入和遷移成本,Account Kit在2023年09月21日對OpenID、UnionID的長度做出了如下調整:
OpenID
發表于 03-31 12:05
鴻蒙開發Ability Kit程序框架服務:選擇申請權限的方式
評論