HarmonyOS鸿蒙- 跳转系统应用能力

news2024/9/21 16:33:25

一、通过弹窗点击设置跳转系统应用能力

1、 自定义弹窗效果图

2、 自定义弹窗代码
import { common, Want } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

export function alertDialog() {

  AlertDialog.show({
    title: '',
    message: '当前功能依赖定位权限,拒绝授权将无法使用此功能。您可以在系统设置中打开定位权限,从而重新启用功能。',
    autoCancel: true,
    alignment: DialogAlignment.Bottom,
    gridCount: 4,
    offset: { dx: 0, dy: -20 },
    primaryButton: {
      value: '取消',
      action: () => {
        console.info('Callback when the first button is clicked')
      }
    },
    secondaryButton: {
      value: '设置',
      action: () => {
        console.info('Callback when the second button is clicked')

        let wantInfo: Want = {
          bundleName: 'com.huawei.hmos.settings',
          abilityName: 'com.huawei.hmos.settings.MainAbility',
          uri: 'location_manager_settings',
          parameters: {
            pushParams: 'com.example.myapplication' // 打开指定应用的详情页面
          }
        }
        let context = 项目单例context或者参数传入 getContext(this) as common.UIAbilityContext;
        context.startAbility(wantInfo).then((data) => {

        }).catch((err: BusinessError) => {
          // ...
        })
      }
    },
    cancel: () => {
      console.info('Closed callbacks')
    }
  })
}

二、跳转系统不同应用能力

隐私与安全-位置信息

// 隐私与安全-位置信息
let wantInfo: Want = {
  bundleName: 'com.huawei.hmos.settings',
  abilityName: 'com.huawei.hmos.settings.MainAbility',
  uri: 'location_manager_settings',
};

应用权限设置 

// 应用权限设置
let wantInfo: Want = {
  bundleName: 'com.huawei.hmos.settings',
  abilityName: 'com.huawei.hmos.settings.WifiSettingsAbility',
  uri: 'application_info_entry',
};

 跳转wifi设置

// 跳转wifi设置
let wantInfo: want = {
  bundleName: 'com.huawei.hmos.settings',
  abilityName: 'com.huawei.hmos.settings.WifiSettingsAbility',
  action: 'action.settings.wifi',
};
应用和元服务
// 应用和元服务
let wantInfo: want = {
  bundleName: 'com.huawei.hmos.settings',
  abilityName: 'com.huawei.hmos.settings.MainAbility',
  uri: 'application_settings',
};
通知管理页面
// 通知管理页面
 let wantInfo: Want = {
    bundleName: 'com.huawei.hmos.settings', // 设置应用bundleName
    abilityName: 'com.huawei.hmos.settings.MainAbility', // 设置应用abilityName
    uri: "systemui_notification_settings", // 通知管理页面
    parameters: {
      pushParams: {
        bundleName:context.abilityInfo.bundleName //拉起方应用包名
      }
    };
进入设置-应用详情页
// 进入设置-应用详情页
let wantInfo: want = {
  bundleName: 'com.huawei.hmos.settings',
  abilityName: 'com.huawei.hmos.settings.MainAbility',
  uri: 'application_info_entry',
  parameters: {
      pushParams: "com.example.startability" // 换成项目包名
    }
};
蓝牙
// 蓝牙
let wantInfo: want = {
  bundleName: 'com.huawei.hmos.settings',
  abilityName: 'com.huawei.hmos.settings.MainAbility',
  uri: 'bluetooth_entry',
  parameters: {
      pushParams: "com.example.startability" // 换成项目包名
    }
};

NFC 

// NFC 
let wantInfo: want = {
  bundleName: 'com.huawei.hmos.settings',
  abilityName: 'com.huawei.hmos.settings.MainAbility',
  uri: 'nfc_settings',
  parameters: {
      pushParams: "com.example.startability" // 换成项目包名
    }
};

 移动网络

// 移动网络
let wantInfo: want = {
  bundleName: 'com.huawei.hmos.settings',
  abilityName: 'com.huawei.hmos.settings.MainAbility',
  uri: 'mobile_network_entry',
  parameters: {
      pushParams: "com.example.startability" // 换成项目包名
    }
};

三、参考华为文档

文档中心icon-default.png?t=N7T8https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/request-user-authorization-0000001774279718

谢谢大家🙏🙏🙏

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

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

相关文章

算法力扣刷题记录 五十一【654.最大二叉树】

前言 二叉树篇,继续。 记录 五十一【654.最大二叉树】 一、题目阅读 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。…

【Linux】安装PHP扩展-Swoole

说明 本文档是在centos7.6的环境下,安装PHP7.4之后,安装对应的PHP扩展Swoole。 一、swoole简述 Swoole 是一个为 PHP 设计的高性能的异步并行网络通信引擎,它以扩展(extension)的形式存在,极大地提升了 …

Linux--YUM仓库部署及NFS共享存储

目录 一、YUM仓库服务 1.1 YUM介绍 1.2 yum 常用的命令 1.3 YUM 源的提供方式 1.3.1 配置本地 yum 源仓库 1.3.2 配置 ftp 源 1.3.3 配置http服务源 二、NFS 共享存储 2.1 NFS基本概述 2.2 为什么使用 NFS 共享存储 2.3 NFS 应用场景 2.4 NFS 实现原理 2.5 NFS文件…

【python学习】爬虫中常使用的urllib和requests库的的背景、定义、特点、功能、代码示例以及两者的区别

引言 urllib是Python标准库中的一个模块,它提供了一系列用于操作URL的功能 requests是一个Python第三方库,由Kenneth Reitz创建,用于简化HTTP客户端的编程 一、urllib的定义 urllib可以操作url,主要分为以下几个子模块&#xff1…

Nginx详解(超级详细)

目录 Nginx简介 1. 为什么使用Nginx 2. 安装Nginx Nginx的核心功能 1. Nginx反向代理功能 2. Nginx的负载均衡 3 Nginx动静分离 Nginx简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协…

深入Redis集群部署:从安装配置到测试验证的完整指南

🏡作者主页:点击! 🐧Linux基础知识(初学):点击! 🐧Linux高级管理防护和群集专栏:点击! 🔐Linux中firewalld防火墙:点击! ⏰️创作…

FastAPI 学习之路(六十)打造系统的日志输出

我们要搭建日志系统,可以使用loguru,很不错的一个开源日志系统 pip install loguru 我们在common创建log.py,使用方式也很简单 import os import timefrom loguru import logger# 日志的路径 log_path os.path.join(os.getcwd(), "log…

信息安全工程师题

物理隔离技术要求两台物理机物理上并不直连,只能进行间接的信息交换。所以防火墙不能实现网络的物理隔离Web应用防火墙可以防止SQL注入、xss攻击、恶意文件上传、远程命令执行、文件包含、恶意扫描拦截等;可以发现并拦截恶意的Web代码;可防止…

树形背包问题

一些题目给定了树形结构,在这个树形结构中选取一定数量的点或边(也可能是其他属性),使得某种与点权或者边权相关的花费最大或者最小。解决这类问题,一般要考虑使用树上背包。 树上背包,顾名思义&#xff0c…

JDK垃圾回收机制和垃圾回收算法

查看java相关信息 java -XX:PrintCommandLineFlags -version UseParallelGC 即 Parallel Scavenge Parallel Old,再查看详细信息 内存分配策略 1. 对象优先在 Eden 分配 大多数情况下,对象在新生代 Eden 区分配,当 Eden 区空间不够时,发…

STM32被拔网线 LWIP的TCP无法重连解决方案

目录 一、问题描述 二、项目构成 三、问题解决 1.问题代码 2.解决思路 3.核心代码: 四、完整代码 1.监测网口插入拔出任务 2.TCP任务 3.创建tcp任务 4.删除tcp任务 五、总结 一、问题描述 最近遇到一个问题,就是我的stm32设备作为tcp客户端…

c# listview控件调整标题显示顺序

右键点击listview,选择编辑列 修改DisplayIndex listview在成员位置点击上下箭头移动后,实际显示不会改变,因为DisplayIndex没有改变

Python 工程师对 3D 高斯溅射的介绍(第 1 部分)

从 Python 工程师的角度理解和编写 Gaussian Splatting 欢迎来到雲闪世界。2023 年初,来自法国蔚蓝海岸大学和马克斯普朗克信息研究所的作者发表了一篇题为“用于实时场渲染的 3D 高斯溅射”的论文。 该论文展示了实时神经渲染的重大进步,超越了 NeRF 等…

一文吃透,低代码是什么?盘点国内十大低代码平台,你用过哪个?

什么是低代码(Low Code)?低代码是怎么火的?国内十大低代码平台分别是谁?低代码项目开发流程是怎样的?低代码和无代码区别是啥?以及低代码的核心价值是什么?可以使用低代码开发平台创建哪些应用?…

el-cascader数据回显失败

el-cascader选中数据第一次回显正常,当选中数据改变再次回显时失败,呈现的还是上次的选中数据 如图 常用的方法this. n e x t T i c k ( ( ) > ) 跟 t h i s . nextTick(() > {})跟this. nextTick(()>)跟this.forceUpdate();强制刷新数据都无…

leetcode hot100_part30_二分查找

上次写博客已经一个月了,这段时间在做外卖项目,真的啥也没有就是个小玩具。 上次接触是在最长递增子序列的一个题解里,复习一下已经忘完了。如果我们在一个有序数组中进行查找某个target,一般肯定就是从小到大or从大到小遍历查找&…

js reduce 的别样用法

let mergedItems list.reduce((accumulator, currentItem) > {let existingItem accumulator.find((item) > item.manObject_name currentItem.manObject_name);if (existingItem) {existingItem.laborCostHand currentItem.laborCostHand; //劳务费existingItem.wor…

【网络】Socket编程

文章目录 正确理解端口号理解源IP地址和目的IP地址认识端口号端口号和进程ID 理解Socket网络字节序socket编程接口创建socket套接字bind绑定套接字listen建立监听accept接受连接connect建立连接sendto发送数据接收数据close关闭套接字 sockaddr结构体 正确理解端口号 理解源IP…

Windows 电脑部署 ollama3 并安装模型

Windows 电脑部署 ollama3 并安装模型 部署中为了尽可能减少对本地环境的污染,使用 Docker 安装! github: https://github.com/ollama/ollama 准备部署文件 version: 3.8services:ollama:volumes:- ./models:/root/.ollama # 将本地文件夹挂载到容器中…

独立游戏《星尘异变》UE5 C++程序开发日志7——实现加载界面

目录 一、创建自定义AssetManager类 二、异步加载资产 三、加载界面UI的实现 1.UI布局 2.在打开关卡前和进入关卡后创建UI并统计进度 有时可能会遇到关卡已经进去但依然会卡顿一段时间的情况,所以我们需要在进入关卡后,玩家可以操作关卡之前&#x…