日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

基于設(shè)置應(yīng)用的應(yīng)用權(quán)限、通知設(shè)置跳轉(zhuǎn)

來源: 責(zé)編: 時間:2024-05-09 09:27:08 246觀看
導(dǎo)讀想了解更多關(guān)于開源的內(nèi)容,請訪問:51CTO 鴻蒙開發(fā)者社區(qū)https://ost.51cto.com引導(dǎo)用戶跳轉(zhuǎn)到系統(tǒng)設(shè)置頁進行權(quán)限,通知的相關(guān)設(shè)置,類似android和iOS應(yīng)用中常見的應(yīng)用內(nèi)跳轉(zhuǎn)到設(shè)置進行通知開啟或權(quán)限設(shè)置的操作。應(yīng)用經(jīng)常

8kA28資訊網(wǎng)——每日最新資訊28at.com

想了解更多關(guān)于開源的內(nèi)容,請訪問:8kA28資訊網(wǎng)——每日最新資訊28at.com

51CTO 鴻蒙開發(fā)者社區(qū)8kA28資訊網(wǎng)——每日最新資訊28at.com

https://ost.51cto.com8kA28資訊網(wǎng)——每日最新資訊28at.com

引導(dǎo)用戶跳轉(zhuǎn)到系統(tǒng)設(shè)置頁進行權(quán)限,通知的相關(guān)設(shè)置,類似android和iOS應(yīng)用中常見的應(yīng)用內(nèi)跳轉(zhuǎn)到設(shè)置進行通知開啟或權(quán)限設(shè)置的操作。8kA28資訊網(wǎng)——每日最新資訊28at.com

應(yīng)用經(jīng)常會遇到如下的業(yè)務(wù)訴求:8kA28資訊網(wǎng)——每日最新資訊28at.com

場景一:如果應(yīng)用首次拒絕了消息通知,應(yīng)用希望能夠引導(dǎo)用戶拉起設(shè)置應(yīng)用設(shè)置允許通知,用來接收應(yīng)用內(nèi)的推送消息;并且在設(shè)置完后返回頁面可以監(jiān)聽到修改后的狀態(tài)。8kA28資訊網(wǎng)——每日最新資訊28at.com

場景二:當(dāng)用戶使用一些需要用戶授權(quán)的api時(如訪問獲取聯(lián)系人信息),若用戶首次拒絕授權(quán),則需要引導(dǎo)用戶到權(quán)限設(shè)置頁面能夠主動進行應(yīng)用權(quán)限的修改。8kA28資訊網(wǎng)——每日最新資訊28at.com

場景三:支持打開/關(guān)閉系統(tǒng)功能如Wi-Fi、NFC、移動網(wǎng)絡(luò)、藍牙等。8kA28資訊網(wǎng)——每日最新資訊28at.com

方案描述

場景一:

如果應(yīng)用首次拒絕了消息通知,應(yīng)用希望能夠引導(dǎo)用戶拉起設(shè)置應(yīng)用設(shè)置允許通知,用來接收應(yīng)用內(nèi)的推送消息;并且在設(shè)置完后返回頁面可以監(jiān)聽到修改后的狀態(tài)。8kA28資訊網(wǎng)——每日最新資訊28at.com

效果圖

8kA28資訊網(wǎng)——每日最新資訊28at.com

8kA28資訊網(wǎng)——每日最新資訊28at.com

方案

  • 通過startability顯式拉起設(shè)置應(yīng)用-通知管理界面,配置相應(yīng)的want信息(不推薦使用隱式拉起的方式)。
  • 在進入頁面時通過Notification.requestEnableNotification()監(jiān)聽?wèi)?yīng)用請求通知使能。

核心代碼

為Button綁定拉起事件。8kA28資訊網(wǎng)——每日最新資訊28at.com

Button(this.buttonText).onClick(()=>{   let context = getContext(this) as common.UIAbilityContext;   let want: Want = {     bundleName: 'com.huawei.hmos.settings',//設(shè)置應(yīng)用bundleName     abilityName: 'com.huawei.hmos.settings.MainAbility',//設(shè)置應(yīng)用abilityName     uri: "systemui_notification_settings",//通知管理頁面     parameters: {       pushParams: {         bundleName:context.abilityInfo.bundleName//拉起方應(yīng)用包名       }     };     context.startAbility(want)   }).margin(10)   Text(this.message)

在打開頁面時獲取通知管理中按鈕狀態(tài),Notification.requestEnableNotification()請求發(fā)送通知的許可,第一次調(diào)用會彈窗讓用戶選擇。8kA28資訊網(wǎng)——每日最新資訊28at.com

onPageShow(): void {   Notification.requestEnableNotification().then(() => {   //已打開通知   this.message = "已允許接收消息推送。"   this.buttonText = "去關(guān)閉通知"   console.info("requestEnableNotification success"); }).catch((err:Error) => {   //未打開通知   this.message = "已禁止接收消息推送。"   this.buttonText = "去開啟通知"   console.info("requestEnableNotification error"); }); }

場景二:

當(dāng)用戶使用一些需要用戶授權(quán)的api時(如訪問獲取聯(lián)系人信息),若用戶首次拒絕授權(quán),則需要引導(dǎo)用戶到權(quán)限設(shè)置頁面能夠主動進行應(yīng)用權(quán)限的修改。8kA28資訊網(wǎng)——每日最新資訊28at.com

是否為用戶授權(quán)可參考允許ACL跨級別申請-應(yīng)用權(quán)限列表-應(yīng)用權(quán)限管控-程序訪問控制-Ability Kit(程序框架服務(wù))-開發(fā) | 華為開發(fā)者聯(lián)盟 (huawei.com)8kA28資訊網(wǎng)——每日最新資訊28at.com

效果圖

8kA28資訊網(wǎng)——每日最新資訊28at.com

8kA28資訊網(wǎng)——每日最新資訊28at.com

方案

暫無直接跳轉(zhuǎn)權(quán)限管理的方式,可通過跳轉(zhuǎn)至應(yīng)用詳情進行用戶申請權(quán)限的修改。8kA28資訊網(wǎng)——每日最新資訊28at.com

核心代碼

為button綁定獲取聯(lián)系人信息事件:8kA28資訊網(wǎng)——每日最新資訊28at.com

Button("獲取聯(lián)系人").onClick(async () => {   const permissions: Array<Permissions> = ['ohos.permission.READ_CONTACTS'];   let context: Context = getContext(this) as common.UIAbilityContext;   let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();   // requestPermissionsFromUser會判斷權(quán)限的授權(quán)狀態(tài)來決定是否喚起彈窗   atManager.requestPermissionsFromUser(context, permissions).then((data: PermissionRequestResult) => {     //grantStatus:授權(quán)狀態(tài):0 已授權(quán) 1未授權(quán) 2未授權(quán) 表示請求無效,     let grantStatus: Array<number> = data.authResults;     let length: number = grantStatus.length;     for (let i = 0; i < length; i++) {       if (grantStatus[i] === 0) {         // 已經(jīng)授權(quán),可以繼續(xù)訪問目標(biāo)操作         this.getContact(context)       } else {         // 用戶拒絕授權(quán),提示用戶必須授權(quán)才能訪問當(dāng)前功能,并引導(dǎo)用戶到系統(tǒng)設(shè)置中打開相應(yīng)的權(quán)限         this.contacts = []         this.dialogControllerConfirm.open()         return;       }     }   }).catch((err: BusinessError) => {     console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`);   }) }).margin(10)

調(diào)用 contact.queryContacts獲取聯(lián)系人信息。8kA28資訊網(wǎng)——每日最新資訊28at.com

getContact(context:Context){   contact.queryContacts(context, (err: BusinessError, data) => {     this.contacts = data   }); }

拒接授權(quán)后的引導(dǎo)彈窗:8kA28資訊網(wǎng)——每日最新資訊28at.com

dialogControllerConfirm: CustomDialogController = new CustomDialogController({   builder: AlertDialog({     content: '已拒絕訪問系統(tǒng)通訊錄,是否前往開啟?',     primaryButton: {       value: '取消',       action: () => {},     },     secondaryButton: {       value: '確認(rèn)',       fontColor: $r('sys.color.ohos_id_color_warning'),       action: () => {         this.openAppInfo()       }     },   }),   autoCancel: true,   customStyle: true,   alignment: DialogAlignment.Bottom })

進入設(shè)置-應(yīng)用詳情頁。8kA28資訊網(wǎng)——每日最新資訊28at.com

openAppInfo(){   let context = getContext(this) as common.UIAbilityContext;   context.startAbility({     bundleName: 'com.huawei.hmos.settings',     abilityName: 'com.huawei.hmos.settings.MainAbility',     uri: 'application_info_entry',     parameters: {       pushParams: "com.example.startability"     }   }); }

場景三:

支持打開/關(guān)閉系統(tǒng)功能如Wi-Fi、NFC、移動網(wǎng)絡(luò)、藍牙等。8kA28資訊網(wǎng)——每日最新資訊28at.com

效果圖

同設(shè)置應(yīng)用內(nèi)相應(yīng)界面8kA28資訊網(wǎng)——每日最新資訊28at.com

方案

通過配置對應(yīng)的uri進行跳轉(zhuǎn),藍牙uri:"bluetooth_entry",NFC uri:"nfc_settings",移動網(wǎng)絡(luò)uri:"mobile_network_entry"8kA28資訊網(wǎng)——每日最新資訊28at.com

核心代碼

Button("to藍牙").onClick(()=> {   let context = getContext(this) as common.UIAbilityContext;   context.startAbility({     bundleName: 'com.huawei.hmos.settings',     abilityName: 'com.huawei.hmos.settings.MainAbility',     uri:"bluetooth_entry",   }); }).margin(10)  Button("toNFC").onClick(()=> {   let context = getContext(this) as common.UIAbilityContext;   context.startAbility({     bundleName: 'com.huawei.hmos.settings',     abilityName: 'com.huawei.hmos.settings.MainAbility',     uri:"nfc_settings",   }); }).margin(10)  Button("to移動網(wǎng)絡(luò)").onClick(()=> {   let context = getContext(this) as common.UIAbilityContext;   context.startAbility({     bundleName: 'com.huawei.hmos.settings',     abilityName: 'com.huawei.hmos.settings.MainAbility',     uri:"mobile_network_entry",   }); }).margin(10)

想了解更多關(guān)于開源的內(nèi)容,請訪問:8kA28資訊網(wǎng)——每日最新資訊28at.com

51CTO 鴻蒙開發(fā)者社區(qū)8kA28資訊網(wǎng)——每日最新資訊28at.com

https://ost.51cto.com8kA28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-87497-0.html基于設(shè)置應(yīng)用的應(yīng)用權(quán)限、通知設(shè)置跳轉(zhuǎn)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 原來在 Vue、React 頁面中管理 &lt;head&gt; 標(biāo)簽這么簡單!

下一篇: Navigation常見場景的解決方案

標(biāo)簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美成人网在线| 一本色道**综合亚洲精品蜜桃冫| 欧美日韩亚洲91| 欧美日韩国产一区| 国产精品亚洲综合久久| 国产一区二区三区奇米久涩| 在线日韩一区二区| a4yy欧美一区二区三区| 午夜宅男久久久| 你懂的视频欧美| 国产精品久久久久毛片软件| 韩国精品在线观看| 夜夜精品视频一区二区| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲欧洲日产国产网站| 亚洲人成精品久久久久| 在线亚洲伦理| 久久久精品国产一区二区三区| 免费一级欧美片在线播放| 欧美日韩一区二区三区在线 | 国产精品一区二区久久| 激情久久久久久久| 一区二区免费在线视频| 久久久久久午夜| 欧美视频一区二区在线观看 | 亚洲国产黄色| 午夜精品久久久久久99热| 欧美电影电视剧在线观看| 国产伦一区二区三区色一情| 亚洲欧洲日本在线| 欧美一区二区在线播放| 欧美精品久久99| 精品动漫3d一区二区三区免费| 亚洲视频网在线直播| 麻豆精品视频在线观看| 国产欧美日韩不卡免费| 一本色道久久加勒比88综合| 久久嫩草精品久久久精品一 | 亚洲精品综合精品自拍| 久久久成人精品| 国产精品女人毛片| 日韩一区二区精品在线观看| 久久人人97超碰国产公开结果| 欧美成人综合一区| 欧美激情五月| 国产欧美一区二区色老头 | 久久综合导航| 国产精品私房写真福利视频| 亚洲日本电影| 久久久久久穴| 国产精品区一区二区三| 亚洲免费av片| 美女视频黄a大片欧美| 国产视频在线一区二区| 在线一区二区视频| 欧美电影免费| 亚洲高清视频在线| 另类激情亚洲| 狠狠入ady亚洲精品| 性色av香蕉一区二区| 国产精品国产福利国产秒拍 | 欧美一区二区三区久久精品茉莉花 | 久久漫画官网| 在线一区欧美| 欧美成人亚洲成人| 韩国三级在线一区| 午夜精品久久久久久久久久久久久 | 欧美日韩亚洲一区二区| 亚洲风情在线资源站| 久久激情五月激情| 国产午夜亚洲精品羞羞网站 | 欧美一区二区啪啪| 国产酒店精品激情| 香蕉久久夜色| 国产美女诱惑一区二区| 亚洲一区二区在线看| 欧美亚一区二区| 亚洲视频在线观看免费| 欧美视频精品一区| 在线视频一区观看| 国产精品国产三级国产专播精品人| 9l国产精品久久久久麻豆| 欧美日韩国产在线| 99热这里只有成人精品国产| 欧美另类在线观看| 一区二区激情| 国产精品久久久久毛片软件 | 国内成人自拍视频| 老司机精品久久| 亚洲国产精品第一区二区三区| 开元免费观看欧美电视剧网站| 一区二区三区在线视频观看| 免费成人高清在线视频| 亚洲人成网站在线播| 欧美日韩成人综合| 亚洲一区二区在线| 国产视频一区免费看| 久久久欧美一区二区| 亚洲福利在线视频| 欧美日韩第一区日日骚| 欧美日韩亚洲系列| 亚洲影院一区| 国内揄拍国内精品少妇国语| 久久永久免费| 亚洲精品日产精品乱码不卡| 欧美视频一区二区| 欧美一区二区三区在线观看视频| 激情久久久久久| 欧美大片在线看免费观看| av成人免费在线| 国产精品一区二区在线观看网站 | 国外成人网址| 欧美不卡视频一区| 一区二区福利| 国产一区白浆| 欧美—级高清免费播放| 亚洲综合国产| 一区二区视频免费在线观看| 欧美伦理视频网站| 欧美亚洲免费| 亚洲国产精品国自产拍av秋霞| 欧美日韩国产欧| 欧美一区二视频| 亚洲精品黄色| 国产午夜精品在线| 欧美高清不卡| 欧美亚洲一区三区| 亚洲国产日韩欧美一区二区三区| 国产精品久久久久久亚洲调教| 久久精品一区二区三区不卡| 亚洲日本一区二区三区| 国产精品一区二区久久精品| 你懂的成人av| 午夜久久99| 亚洲精品裸体| 国产一区二区三区直播精品电影 | 欧美国产高清| 欧美有码视频| 欧美日韩视频免费播放| 久久爱另类一区二区小说| 亚洲精品国产系列| 韩国精品久久久999| 欧美日韩午夜剧场| 久久久久欧美精品| 亚洲一区二区三区涩| 亚洲国产日韩精品| 国产欧美一区二区精品秋霞影院| 欧美成人免费在线| 欧美专区18| 亚洲午夜在线视频| 亚洲精品韩国| 国产在线播精品第三| 欧美日韩一区二区三区在线| 久久一区二区三区四区| 亚洲欧美国产日韩中文字幕| 亚洲激情专区| 国语自产偷拍精品视频偷 | 欧美日本亚洲视频| 久久亚洲国产成人| 亚洲欧美日韩中文视频| 亚洲精品一区二区三区四区高清| 国产在线麻豆精品观看| 欧美性猛交xxxx免费看久久久| 免费成人在线视频网站| 久久丁香综合五月国产三级网站| 99国产精品99久久久久久粉嫩| 在线不卡亚洲| 国产色产综合产在线视频| 欧美视频在线观看免费| 欧美极品影院| 免费欧美在线视频| 久久激情五月婷婷| 亚洲欧美一区二区三区在线| 亚洲最快最全在线视频| 亚洲精品影院| 亚洲激情视频网站| 在线免费观看日本欧美| 国内成人在线| 国产视频在线观看一区二区| 国产精品高潮粉嫩av| 欧美午夜a级限制福利片| 欧美黄色免费| 欧美华人在线视频| 欧美91大片| 美女精品网站| 噜噜噜久久亚洲精品国产品小说| 久久精品国产精品亚洲综合 | 麻豆精品国产91久久久久久| 久久精品国产在热久久| 欧美一区三区二区在线观看| 亚洲男女自偷自拍| 亚洲综合大片69999| 亚洲综合成人在线| 亚洲欧美日韩天堂| 亚洲欧美在线x视频| 午夜精品久久久久久久男人的天堂 | 好看的日韩视频| 国产一区二区三区视频在线观看 | 夜夜精品视频一区二区| 麻豆精品视频在线观看视频| 久久久久久久一区| 久热精品视频在线观看| 久久躁日日躁aaaaxxxx| 久久亚洲午夜电影|