0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)Ability Kit程序框架服務(wù):選擇申請權(quán)限的方式

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-01 09:50 ? 次閱讀

選擇申請權(quán)限的方式

應(yīng)用在訪問數(shù)據(jù)或者執(zhí)行操作時(shí),需要評估該行為是否需要應(yīng)用具備相關(guān)的權(quán)限。如果確認(rèn)需要目標(biāo)權(quán)限,則需要在應(yīng)用安裝包中申請目標(biāo)權(quán)限。

每一個(gè)權(quán)限的權(quán)限等級、授權(quán)方式不同,申請權(quán)限的方式也不同,開發(fā)者在申請權(quán)限前,需要先根據(jù)以下流程判斷應(yīng)用能否申請目標(biāo)權(quán)限。

zh-cn_image_0000001698506718

上圖的數(shù)字標(biāo)注,請參考以下說明:

  • 標(biāo)注1:應(yīng)用APL等級與權(quán)限等級的匹配關(guān)系請參考[APL等級說明]。
  • 標(biāo)注2:權(quán)限的授權(quán)方式分為user_grant(用戶授權(quán))和system_grant(系統(tǒng)授權(quán)),具體請參考[授權(quán)方式說明]。
  • 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
    • 如果目標(biāo)權(quán)限是system_grant類型,開發(fā)者在進(jìn)行權(quán)限申請后,系統(tǒng)會在安裝應(yīng)用時(shí)自動為其進(jìn)行權(quán)限預(yù)授予,開發(fā)者不需要做其他操作即可使用權(quán)限。
    • 在應(yīng)用需要獲取user_grant權(quán)限時(shí),請完成以下步驟:
      1. 在配置文件中,聲明應(yīng)用需要請求的權(quán)限。
      2. 將應(yīng)用中需要申請權(quán)限的目標(biāo)對象與對應(yīng)目標(biāo)權(quán)限進(jìn)行關(guān)聯(lián),讓用戶明確地知道,哪些操作需要用戶向應(yīng)用授予指定的權(quán)限。
      3. 運(yùn)行應(yīng)用時(shí),在用戶觸發(fā)訪問操作目標(biāo)對象時(shí)應(yīng)該調(diào)用接口,精準(zhǔn)觸發(fā)動態(tài)授權(quán)彈框。該接口的內(nèi)部會檢查當(dāng)前用戶是否已經(jīng)授權(quán)應(yīng)用所需的權(quán)限,如果當(dāng)前用戶尚未授予應(yīng)用所需的權(quán)限,該接口會拉起動態(tài)授權(quán)彈框,向用戶請求授權(quán)。
      4. 檢查用戶的授權(quán)結(jié)果,確認(rèn)用戶已授權(quán)才可以進(jìn)行下一步操作。
  • 標(biāo)注3:應(yīng)用可以通過ACL(訪問控制列表)方式申請高級別的權(quán)限。

應(yīng)用可根據(jù)目標(biāo)權(quán)限的開放范圍、授權(quán)方式,參考以下操作路徑申請對應(yīng)權(quán)限。

normal等級應(yīng)用申請權(quán)限的方式

權(quán)限類型授權(quán)方式操作路徑
[所有應(yīng)用可申請]system_grant[聲明權(quán)限] > 訪問接口
[所有應(yīng)用可申請]user_grant[聲明權(quán)限] > [向用戶申請授權(quán)] > 訪問接口
[允許normal等級應(yīng)用通過ACL跨級申請]system_grant[聲明權(quán)限] > [聲明ACL權(quán)限] > 訪問接口
[允許normal等級應(yīng)用通過ACL跨級申請]user_grant[聲明權(quán)限] > [聲明ACL權(quán)限]> [向用戶申請授權(quán)] > 訪問接口

說明:

  • 如果system_basic等級的權(quán)限,ACL使能為false,則normal等級應(yīng)用無法申請?jiān)摍?quán)限。
  • 當(dāng)前可通過DevEco Studio完成[ACL方式跨級別申請權(quán)限],但該方法僅用于應(yīng)用調(diào)試階段使用,不可用于發(fā)布上架應(yīng)用市場。如果需要開發(fā)商用版本的應(yīng)用,請?jiān)趯?yīng)的應(yīng)用市場進(jìn)行發(fā)布證書和Profile文件的申請。

system_basic等級應(yīng)用申請權(quán)限的方式

權(quán)限等級授權(quán)方式ACL使能操作路徑
normal、system_basicsystem_grant-[聲明權(quán)限]> 訪問接口
normal、system_basicuser_grant-[聲明權(quán)限] > [向用戶申請授權(quán)]> 訪問接口
system_coresystem_granttrue[聲明權(quán)限]> [聲明ACL權(quán)限]> 訪問接口
system_coreuser_granttrue[聲明權(quán)限] > [聲明ACL權(quán)限] > [向用戶申請授權(quán)] > 訪問接口HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

搜狗高速瀏覽器截圖20240326151547.png

如果應(yīng)用需要將自身的APL等級聲明為system_basic及以上,在開發(fā)應(yīng)用安裝包時(shí),需要修改應(yīng)用的HarmonyAppProvision配置文件即SDK目錄下的“Toolchains / _{Version} _/ lib / UnsgnedReleasedProfileTemplate.json”文件),并重新進(jìn)行應(yīng)用簽名。

修改方式:

HarmonyAppProvision配置文件示例如下所示,修改"bundle-info" > "apl" 字段。

"bundle-info" : {
    // ...
    "apl": "system_basic",
    // ...
},

說明: 直接修改HarmonyAppProvision配置文件的方式,僅用于應(yīng)用調(diào)試階段使用,不可用于發(fā)布上架應(yīng)用市場。如果需要開發(fā)商用版本的應(yīng)用,請?jiān)趯?yīng)的應(yīng)用市場進(jìn)行發(fā)布證書和Profile文件的申請。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8777

    瀏覽量

    152419
  • 框架
    +關(guān)注

    關(guān)注

    0

    文章

    403

    瀏覽量

    17617
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2411

    瀏覽量

    43302
收藏 人收藏

    評論

    相關(guān)推薦

    HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)Intents Kit(意圖框架服務(wù))綜述

    一、綜述 Intents Kit(意圖框架服務(wù))是HarmonyOS級的意圖標(biāo)準(zhǔn)體系 ,意圖連接了應(yīng)用/元服務(wù)內(nèi)的業(yè)務(wù)功能。 意圖框架能幫
    發(fā)表于 11-28 10:43

    鴻蒙原生開發(fā)手記:01-元服務(wù)開發(fā)

    簡介 元服務(wù)鴻蒙中的一種輕量應(yīng)用形態(tài),無需下載,直接運(yùn)行。類似于微信小程序,但與小程序不同的是,元服務(wù)更加輕量。 元
    發(fā)表于 11-14 17:28

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

    受限開放的權(quán)限通常是不允許三方應(yīng)用申請的。當(dāng)應(yīng)用在申請權(quán)限來訪問必要的資源時(shí),發(fā)現(xiàn)部分權(quán)限的等級比應(yīng)用APL等級高,
    的頭像 發(fā)表于 07-02 17:48 ?626次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b>訪問控制:向用戶<b class='flag-5'>申請</b>單次授權(quán)

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

    受限開放的權(quán)限通常是不允許三方應(yīng)用申請的。當(dāng)應(yīng)用在申請權(quán)限來訪問必要的資源時(shí),發(fā)現(xiàn)部分權(quán)限的等級比應(yīng)用APL等級高,
    的頭像 發(fā)表于 07-02 17:34 ?584次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b>訪問控制:<b class='flag-5'>申請</b>使用受限<b class='flag-5'>權(quán)限</b>

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

    申請目標(biāo)權(quán)限前,建議開發(fā)者先閱讀[申請應(yīng)用權(quán)限],對權(quán)限的工作流程有基本了解后,再結(jié)合以下
    的頭像 發(fā)表于 07-02 14:32 ?612次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b>訪問控制:對所有應(yīng)用開放

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):向用戶申請單次授權(quán)

    基于授權(quán)最小化的原則,防止應(yīng)用獲取和濫用用戶數(shù)據(jù),針對部分應(yīng)用敏感權(quán)限,在彈窗向用戶申請授權(quán)時(shí),新增“允許本次使用”的授權(quán)選項(xiàng)。
    的頭像 發(fā)表于 07-01 14:34 ?544次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:向用戶<b class='flag-5'>申請</b>單次授權(quán)

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

    系統(tǒng)提供了一種允許應(yīng)用訪問系統(tǒng)資源(如:通訊錄等)和系統(tǒng)能力(如:訪問攝像頭、麥克風(fēng)等)的通用權(quán)限訪問方式,來保護(hù)系統(tǒng)數(shù)據(jù)(包括用戶個(gè)人數(shù)據(jù))或功能,避免它們被不當(dāng)或惡意使用。
    的頭像 發(fā)表于 07-01 10:21 ?635次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:應(yīng)用<b class='flag-5'>權(quán)限</b>管控概述 <b class='flag-5'>程序</b>訪問控制

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):聲明權(quán)限

    應(yīng)用在申請權(quán)限時(shí),需要在項(xiàng)目的配置文件中,逐個(gè)聲明需要的權(quán)限,否則應(yīng)用將無法獲取授權(quán)。
    的頭像 發(fā)表于 07-01 09:22 ?452次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:聲明<b class='flag-5'>權(quán)限</b>

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):向用戶申請授權(quán)

    當(dāng)應(yīng)用需要訪問用戶的隱私信息或使用系統(tǒng)能力時(shí),例如獲取位置信息、訪問日歷、使用相機(jī)拍攝照片或錄制視頻等,應(yīng)該向用戶請求授權(quán),這部分權(quán)限是user_grant權(quán)限。
    的頭像 發(fā)表于 07-01 09:18 ?715次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:向用戶<b class='flag-5'>申請</b>授權(quán)

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-位置服務(wù)申請權(quán)限

    申請位置權(quán)限開發(fā)指導(dǎo) 場景概述 應(yīng)用在使用位置服務(wù)系統(tǒng)能力前,需要檢查是否已經(jīng)獲取用戶授權(quán)訪問設(shè)備位置信息。如未獲得授權(quán),可以向用戶申請需要
    發(fā)表于 06-18 15:27

    鴻蒙Ability Kit程序框架服務(wù))【應(yīng)用啟動框架AppStartup】

    `AppStartup`提供了一種更加簡單高效的初始化組件的方式,支持異步初始化組件加速應(yīng)用的啟動時(shí)間。使用啟動框架應(yīng)用開發(fā)者只需要分別為待初始化的組件實(shí)現(xiàn)`AppStartup`提供
    的頭像 發(fā)表于 06-10 18:38 ?862次閱讀

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

    本示例展示通過[IDL的方式]和?[@ohos.rpc]?等接口實(shí)現(xiàn)了Ability與ServiceExtensionAbility之間的通信。
    的頭像 發(fā)表于 06-05 09:28 ?628次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【<b class='flag-5'>Ability</b>與ServiceExtensionAbility通信】

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

    基于Stage模型下的Ability開發(fā),實(shí)現(xiàn)Ability內(nèi)頁面間的跳轉(zhuǎn)和數(shù)據(jù)傳遞。
    的頭像 發(fā)表于 06-03 20:43 ?405次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【<b class='flag-5'>Ability</b>內(nèi)頁面間的跳轉(zhuǎn)】

    鴻蒙應(yīng)用模型:【Ability Kit】簡介

    Ability Kit程序框架服務(wù))提供了應(yīng)用程序開發(fā)
    的頭像 發(fā)表于 05-29 14:41 ?798次閱讀
    <b class='flag-5'>鴻蒙</b>應(yīng)用模型:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】簡介

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

    Context模塊提供了ability或application的上下文的能力,包括允許訪問特定于應(yīng)用程序的資源、請求和驗(yàn)證權(quán)限等。
    的頭像 發(fā)表于 05-13 16:04 ?840次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【 (Context模塊)】