【HarmonyOS】引导用户跳转APP设置详情页开启权限

【HarmonyOS】引导用户跳转设置APP详情页开启权限

前言

众所周知在鸿蒙应用中,向用户申请权限时,会弹出系统请求授权的弹框。当用户拒绝了你申请的权限,弹框会直接关闭。当下次触发同样的权限申请,会直接返回失败,不会再唤起系统的权限申请弹框

在这里插入图片描述

在这种场景下,我们需要引导用户去系统设置中,开启咱们的APP详情页,手动去开启权限。

很多应用会直接提示文本,让用户自己系统设置中找。这样的体验非常不友好,因为用户是很懒的,我们要减少用户的操作步骤

解决方案

在以上的场景中,我们需要提示文本的基础上,添加自动跳转到设置应用的按钮,让用户快捷跳转到系统设置中,对应的APP详情页面。

如下图所示:
在这里插入图片描述
只需要在系统申请权限失败后,通过startAbility跳转到系统设置,通过配置参数为详情页和传递当前咱们应用的包名,就可以跳转到系统设置的APP详情页面。

这是目前已知的一种方式,如果有新的方式,欢迎讨论。

DEMO示例:

跳转到系统应用

  private toSysSettingPage(){globalThis.sysContext.startAbility({bundleName: 'com.huawei.hmos.settings', //系统设置应用的包名abilityName: 'com.huawei.hmos.settings.MainAbility',uri: 'application_info_entry', // APP详情页parameters: {pushParams: globalThis.sysContext.abilityInfo.bundleName // 当前应用包名}});}

权限申请示例:

  async aboutToAppear() {let isHave: boolean = await PermissionsUtil.requestPermission();if(isHave){// 用户允许权限后 doing}else{this.toSysSettingPage();}}

单一权限申请工具类:

import { abilityAccessCtrl, common } from '@kit.AbilityKit';/*** 权限工具*/
export class PermissionsUtil{static async reqPermissionsFromUser(): Promise<number[]> {let context = getContext() as common.UIAbilityContext;let atManager = abilityAccessCtrl.createAtManager();let grantStatus = await atManager.requestPermissionsFromUser(context, ['ohos.permission.ACCESS_BLUETOOTH']);return grantStatus.authResults;}/*** 申请权限* @returns*/static async requestPermission() {let grantStatus = await PermissionsUtil.reqPermissionsFromUser()for (let i = 0; i < grantStatus.length; i++) {if (grantStatus[i] === 0) {// 用户授权,可以继续访问目标操作return true;}}return false;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1357.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【大数据学习 | HBASE】hbase的原理与组成结构

1. hbase的简述 hbase作为google的大数据三篇比较重要的论文之一&#xff0c;它的起源叫做bigtable&#xff0c;意思非常简单就是大表的意思&#xff0c;是一个分布式存储很多数据的大型表格系统&#xff0c;它是对于hdfs中的数据不能直观查询和随机读写的病痛的一个补充和完善…

在Zetero中调用腾讯云API的输入密钥的问题

也是使用了Translate插件了&#xff0c;但是需要调用腾讯云翻译&#xff0c;一直没成功。 第一步就是&#xff0c;按照这上面方法做&#xff1a;百度、阿里、腾讯、有道各平台翻译API申请教程 之后就是&#xff1a;Zotero PDF translat翻译&#xff1a;申请腾讯翻译接口 主要是…

再探“构造函数”(2)友元and内部类

文章目录 一. 友元‘全局函数’作友元‘成员函数’作友元‘类‘作友元 内部类 一. 友元 何时会用到友元呢&#xff1f; 当想让&#xff08;类外面的某个函数/其它的类&#xff09;访问 某个类里面的(私有或保护的)内容时&#xff0c;可以选择使用友元。 友元提供了一种突破&a…

(新)docker desktop镜像迁移

背景 docker desktop默认安装在系统c盘&#xff0c;久而久之随着镜像拉取的越多&#xff0c;系统盘占用则越来越大。现有的网络资源关于docker desktop迁移都是旧版本的&#xff0c;即4.30版本之前。在4.30版本及以后&#xff0c;在运行wsl -l -v时只有docker-desktop只有这一项…

19种RAG结构

文章目录 什么是RAG19种RAG总览Standard RAGCorrective RAG&#xff0c;纠错型RAGSpeculative RAG&#xff0c;推测型RAGFusion RAG&#xff0c;融合型RAGAgentic RAG&#xff0c;智能代理型RAGSelf RAG&#xff0c;自增强型RAGGraph RAG&#xff0c;图谱RAGAdaptive RAGREALM:…

flink 内存配置(一):设置Flink进程内存

Apache Flink通过严格控制各个组件的内存使用&#xff0c;在JVM之上提供了高效的工作负载。虽然Flink社区努力为所有配置提供合理的默认值&#xff0c;但由于用户部署在Flink上的应用范围很广&#xff0c;这并不总是可行的。为了给用户提供最大的生产价值&#xff0c;Flink支持…

ssm037物流管理系统设计与实现+jsp(论文+源码)_kaic

毕 业 设 计&#xff08;论 文&#xff09; 题目&#xff1a;物流管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本物流管理系统就是在这…

扩展卡尔曼滤波(EKF)的限制

当f (x)或h (x)接近线性时&#xff0c;EKF在许多实际问题上表现良好。然而&#xff0c;它在高度非线性的区域中失败了 EKF的概念是基于模型的线性化而提出的。EKF估计包括线性化误差。线性化误差取决于相对于传播的不确定度的函数的非线性度&#xff0c;如下图所示。 图13.13…

【ChatGPT】搜索趋势分析

【ChatGPT】搜索趋势分析 为了分析 ChatGPT 在过去一年的流行趋势&#xff0c;我们可以查看 Google Trends 的数据 安装依赖pytrends pip install pytrends运行以下 Python 脚本 import pandas as pd import matplotlib.pyplot as plt from pytrends.request import TrendR…

ctfshow——web(总结持续更新)

文章目录 1、基础知识部分2、php伪协议2.1 php://input协议2.2 data://text/plain协议 3、webshell连接工具3.1 蚁剑连接一句话木马 4、各个web中间件重要文件路径4.1 Nginx 5、sqlmap使用6、php特性6.1 md5加密漏洞 7、TOP 10漏洞7.1 SQL注入 1、基础知识部分 识别base64编码…

未来已来,软件行业的下一个风口在哪里?

引言 随着技术的迅猛发展&#xff0c;软件行业正在不断迎来新的机遇和挑战。在这个充满活力和变革的时代&#xff0c;企业和开发者们纷纷寻找下一个可能改变游戏规则的风口。那么&#xff0c;软件行业的下一个风口在哪里&#xff1f;让我们一同探索未来的潜在趋势与创新方向。 …

Python批量查找包含多个关键词的PDF文件

在信息爆炸的时代&#xff0c;数据管理变得愈发重要。U盘作为一种便携式存储设备&#xff0c;常常承载着我们大量的个人和工作数据。然而&#xff0c;随着文件数量的增加&#xff0c;在U盘中快速找到特定文件常常成为一个令人头疼的难题。我们通常可以采用everything来快速查找…

python网络爬虫基础:requests库的应用

Requests 库是在 urllib 的基础上开发而来&#xff0c;相比之下更加简洁优美&#xff0c;在编写爬虫程序时应用较为广泛。注意&#xff0c;本文更偏于程序实现&#xff0c;具体各个字段、参数的解释详见本专栏其他博文&#xff08;后续看情况更新&#xff09;。闲话少说&#x…

新能源汽车火灾应急处置程序

摘要&#xff1a;新能源汽车在人们的日常生活中被广泛应用&#xff0c;但其消防安全问题也逐渐凸显。本文分析了新能源汽车的起火原因、燃烧危害性&#xff0c;并着重阐述了新能源汽车发生火灾后消防应急处置程序及应对措施等。 关键词&#xff1a;新能源汽车&#xff1b;火灾…

双十一买什么?便宜又好用的数码好物分享

​每年双十一大促期间&#xff0c;许多平时想买但又感觉有些贵的数码好物都会降至最低价格&#xff0c;此时入手岂不美哉&#xff0c;还犹豫就只能等明年了。也有很多小伙伴不知道该入手些什么数码好物&#xff0c;接下来我就给大家盘点几款整体使用下来还不错的数码好物。 长…

【矩阵理论常见符号说明】

矩阵理论常见符号说明 参考链接 【矩阵理论/刘启明主编. 北京:国防出版社】

11.Node.js API接口

八、API接口 8.1 json-server工具 1&#xff09;安装json-server npm i -g json-server2)示例 //students.json {"student":[{"id":1,"name":"sally","age":18,"gender":"女"},{"id":2,&…

Linux与Windows中的流量抓取工具:wireshark与tcpdump

1. wireshark&#xff08;windows上主要用到的流量分析工具&#xff09; 下载安装&#xff0c;安装到本地&#xff08;安装到虚拟机可能抓不到包&#xff09; 下载地址 1.1. 数据报文字段含义 source&#xff1a;源IP destination&#xff1a;目的IP protocol&#xff1a;协…

DevExpress中文教程 - 如何使用AI模型检查HTML编辑中的语法?

DevExpress .NET MAUI多平台应用UI组件库提供了用于Android和iOS移动开发的高性能UI组件&#xff0c;该组件库包括数据网格、图表、调度程序、数据编辑器、CollectionView和选项卡组件等。 目前许多开发人员正在寻找多种方法将AI添加到解决方案中&#xff08;这通常比想象的要…

Django+Vue智慧分析居家养老系统统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 需要的环境3.2 Django接口层3.3 实体类3.4 config.ini3.5 启动类3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优质创作者&…