【HbuilderX】 uniapp实现 android申请权限 和 退出app返回桌面
目录
android申请权限:
监听用户是否开启权限或关闭权限:
退出app返回桌面:
android申请权限:
首先在 manifest.json 内添加你所需要用到权限

添加权限插件
permission.js · 一次就好1/权限插件 - Gitee.com
https://gitee.com/just-once-1/permission-plugin/blob/master/permission.js

App.vue 内引入该插件
import permision from "你的插件路径"
App.vue onShow 钩子内 使用 permision.requestAndroidPermission 调用申请该权限
permision.requestAndroidPermission("android.permission.RECORD_AUDIO")

permision.requestAndroidPermission("android.permission.你的权限名") ,
注意你的权限名 必须一致和 manifest.json 内配置的权限名一致

监听用户是否开启权限或关闭权限:
permission.js 权限插件内 requestAndroidPermission 方法可以监听到用户是拒绝权限 还是 关闭权限 还是 永久拒绝权限
function requestAndroidPermission(permissionID) {return new Promise((resolve, reject) => {plus.android.requestPermissions([permissionID], // 理论上支持多个权限同时查询,但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装function (resultObj) {var result = 0;for (var i = 0; i < resultObj.granted.length; i++) {var grantedPermission = resultObj.granted[i];console.log('已获取的权限:' + grantedPermission);result = 1}for (var i = 0; i < resultObj.deniedPresent.length; i++) {var deniedPresentPermission = resultObj.deniedPresent[i];console.log('拒绝本次申请的权限:' + deniedPresentPermission);if (("android.permission.READ_PHONE_STATE" == deniedPresentPermission)) {console.log(`拒绝了电话权限`)plus.runtime.quit()}result = 0}for (var i = 0; i < resultObj.deniedAlways.length; i++) {var deniedAlwaysPermission = resultObj.deniedAlways[i];console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);result = -1}resolve(result);// 若所需权限被拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限// if (result != 1) {// gotoAppPermissionSetting()// }},function (error) {console.log('申请权限错误:' + error.code + " = " + error.message);resolve({code: error.code,message: error.message});});});
}
退出app返回桌面:
安卓端退出应用程序:
plus.runtime.quit();
苹果端退出应用程序:
const threadClass = plus.ios.importClass("NSThread");const mainThread = plus.ios.invoke(threadClass, "mainThread");plus.ios.invoke(mainThread, "exit");
相关文章:
【HbuilderX】 uniapp实现 android申请权限 和 退出app返回桌面
目录 android申请权限: 监听用户是否开启权限或关闭权限: 退出app返回桌面: android申请权限: 首先在 manifest.json 内添加你所需要用到权限 添加权限插件 permission.js 一次就好1/权限插件 - Gitee.comhttps://gitee.co…...
计算机网络之传输层 + 应用层
.1 CIDR地址块中还有三个特殊的地址块 a. 前缀 n 32 , 即32位IP地址都是前缀, 没有主机号, 这其实就是一个IP地址, 用于主机路由 b. 前缀 n 31 , 这个地址块中有两个IP地址, 主机号分别为0/1 , 这个地址块用于点对点链路 c. 前缀 n 0 , 用于默认路由使用二叉线索树查找转发…...
五、软考-系统架构设计师笔记-信息安全技术基础知识
信息安全技术基础知识 1、信息安全基础知识概述 信息安全的概念 信息安全包括 5 个基本要素: 机密性:确保信息不暴露给未授权的实体或进程。完整性:只有得到允许的人才能修改数据,并且能够判别出数据是否已被篡改。可用性:得到授权的实体在需要时可以…...
vue3+uniapp在微信小程序实现一个2048小游戏
一、效果展示 二、代码 <template><view class"page"><view class"top"><view class"score">得分:{{total}}</view><view class"time">用时:{{allTime}}s</view></view><view cl…...
常见的浏览器跨域解决方法
1. 前端方法:JSONP(仅适用于GET请求) JSONP(JSON with Padding)是一种利用<script>标签的src属性不受同源策略限制的特性来实现跨域数据请求的方法。JSONP通过在前端动态创建<script>标签,并将…...
飞桨模型转ONNX模型教程
文章目录 飞桨模型转ONNX模型教程1. ONNX简介2. Paddle2ONNX安装3. 获取Paddle2ONNX模型库4. 飞桨转ONNX教程4.1 飞桨训练模型导出为ONNX模型4.2 飞桨部署模型转为ONNX模型4.3 验证ONNX模型4.4 使用ONNX模型进行推理 5. 注意事项 飞桨模型转ONNX模型教程 1. ONNX简介 ONNX是一…...
vue使用swiper(轮播图)-真实项目使用
一、安装 我直接安装的vue-awesome-swiper": "^3.1.3"指定版本 npm install vue-awesome-swiper3.1.3 swiper --save二、vue页面使用,写了一个小demo <template><div class"vue-swiper"><h1>{{ msg }}</h1><…...
C++ 创建并初始化对象
创建并初始化C对象 当我们创建一个C对象时,它需要占用一些内存,即使我们写一个完全为空的类,类中没有成员,什么也没有,它至少也要占用一个字节的内存。但是我们类中有很多成员,它们需要存储在某地方&#…...
大数据可视化python01
import pandas as pd import matplotlib.pyplot as plt# 设置中文改写字体 plt.rcParams[font.sans-serif] [SimHei]# 读取数据 data pd.read_csv(C:/Users/wzf/Desktop/读取数据进行数据可视化练习/实训作业练习/瓜果类单位面积产量.csv ,encoding utf-8)#输出 print(data)…...
Java底层自学大纲_分布式篇
分布式专题_自学大纲所属类别学习主题建议课时(h)A 分布式锁001 Zookeeper实现分布式锁l-常规实现方式2.5A 分布式锁002 Zookeeper实现分布式锁II-续命&超时&羊群效应问题解决方案2.5A 分布式锁003 Zookeeper实现分布式锁III-基于Curator框架实现…...
Thread多线程(创建,方法,安全,通信,线程池,并发,并行,线程的生命周期)【全详解】
目录 1.多线程概述 2.多线程的创建 3.Thread的常用方法 4.线程安全 5.线程同步 6.线程通信 7.线程池 8.其它细节知识:并发、并行 9.其它细节知识:线程的生命周期 1.多线程概述 线程是什么? 线程(Thread)是一个程序内部的一条执行…...
自定义View中的ListView和ScrollView嵌套的问题
当我们在使用到ScrollView和ListView的时候可能会出现显示不全的问题。那我们可以进行以下分析 ScrollView在测量子布局的时候会用UNSPECIFIED。通过源码观察, 在ScrollView的onMeasure方法中 Overrideprotected void onMeasure(int widthMeasureSpec, int heightMe…...
支持向量机 SVM | 线性可分:硬间隔模型公式推导
目录 一. SVM的优越性二. SVM算法推导小节概念 在开始讲述SVM算法之前,我们先来看一段定义: 支持向量机(Support VecorMachine, SVM)本身是一个二元分类算法,支持线性分类和非线性分类的分类应用,同时通过OvR或者OvO的方式可以应用…...
【Unity实战】UGUI和Z轴排序那点事儿
如果读者是从Unity 4.x时代过来的,可能都用过NGUI这个插件(后来也是土匪成了正规军),NGUI一大特点是可以靠transform位移的Z值进行遮挡排序,然而这个事情在UGUI成了难题(Sorting Layer、Inspector顺序等因素…...
Vue/React 前端高频面试
说一说vue钩子函数 钩子函数是Vue实例创建和销毁过程中自动执行的函数。按照组件生命周期的过程分为:挂载阶段 -> 更新阶段 -> 销毁阶段。 每个阶段对应的钩子函数分别为:挂载阶段(beforeCreate,created,befor…...
[技巧]Arcgis之图斑四至范围批量计算
ArcGIS图层(点、线、面三类图形)四至范围计算 例外一篇介绍:[技巧]Arcgis之图斑四至点批量计算 说明:如下图画出来的框(范围标记不是很准) ,图斑的x最大和x最小,y最大,…...
C/C++工程师面试题(STL篇)
STL 中有哪些常见的容器 STL 中容器分为顺序容器、关联式容器、容器适配器三种类型,三种类型容器特性分别如下: 1. 顺序容器 容器并非排序的,元素的插入位置同元素的值无关,包含 vector、deque、list vector:动态数组…...
Effective Programming 学习笔记
1 基本语句 1.1 断言 在南溪看来,断言可以用来有效地确定编程中当前代码运行的前置条件,尤其是以下情况: 第三方工具库对输入数据的依赖,例如:minitouch库对Android版本的要求...
【MGR】MySQL Group Replication 背景
目录 17.1 Group Replication Background 17.1.1 Replication Technologies 17.1.1.1 Primary-Secondary Replication 17.1.1.2 Group Replication 17.1.2 Group Replication Use Cases 17.1.2.1 Examples of Use Case Scenarios 17.1.3 Group Replication Details 17.1…...
300分钟吃透分布式缓存-17讲:如何理解、选择并使用Redis的核心数据类型?
Redis 数据类型 首先,来看一下 Redis 的核心数据类型。Redis 有 8 种核心数据类型,分别是 : & string 字符串类型; & list 列表类型; & set 集合类型; & sorted set 有序集合类型&…...
Java Web中基于JWT的七层权限控制系统设计
1. 为什么JWT不是“万能钥匙”,而是一个需要精心设计的权限信封在Java Web开发中,一提到权限控制,很多人第一反应就是“加个Spring Security,配个JWT,不就完事了?”我去年接手一个医疗SaaS系统的权限模块重…...
Keil C51中使用DEFINE指令动态包含头文件技巧
1. 使用DEFINE指令指定#include文件的背景与需求在嵌入式C语言开发中,我们经常遇到需要根据不同的硬件平台或编译环境包含不同头文件的情况。传统做法是直接硬编码#include语句中的文件名,但这种方式缺乏灵活性,特别是在跨平台开发或需要频繁…...
520遇见AI:猛犸AI智能体训练增长营第15期深圳圆满落幕
一束玫瑰,一场关于未来的对话。 2026年5月20日,猛犸AI智能体训练增长营第15期在深圳南山正式开课。课程伊始,GEO理论奠基人罗小军为每一位到场的100余名学员送上了一束玫瑰花——这一天恰逢520,这束花,是猛犸AI送给每一…...
英语长期没进步?大多是学习方式错了
很多人英语学了很久却毫无起色,归根结底,都栽在了同一个核心问题上。前阵子整理电脑文件,我翻出了早年的英语学习笔记。厚厚几十页的单词汇总、密密麻麻的语法批注,收藏夹里囤了上百个教学视频,还有曾经热血满满给自己…...
从0到就业,学习网络安全的正确顺序
从0到就业,学习网络安全的正确顺序 想入行网络安全,别怕,这条路虽然看起来复杂,但只要找对方法,就能少走很多弯路。核心原则就是:先学基础,再学安全,动手永远比光看重要 一、入门基…...
飞凌OKMX6ULL-C开发板深度评测:从硬件解析到系统性能实战
1. 开箱与初识:飞凌OKMX6ULL-C开发平台拿到飞凌OKMX6ULL-C开发板的第一印象,是它比我想象中要“工整”不少。核心板(FETMX6ULL-C)和底板通过高可靠性的板对板连接器接插,这种设计在工业级产品中很常见,方便…...
Flink 2.2集成Flink CDC 3.6
1 、部署Flink CDC tar -zxf flink-cdc-3.6.0-2.2-bin.tar.gz -C /usr/bigtop/3.3.0/usr/libln -s /usr/bigtop/3.3.0/usr/lib/flink-cdc-3.6...
LangChain-Chatchat 开发与应用(九) 性能优化实战-从能用到好用的调优之路
性能优化实战:从"能用"到"好用"的调优之路 标签:性能优化 | 并发 | 显存 | 缓存 | 监控 | 调优 一、性能问题的"众生相" 你的 Chatchat 系统是不是遇到过这些情况? 一个人用挺快,三个人同时问就卡…...
写给前端的 CANN-ops-rand:昇腾随机数生成算子库到底是啥?
之前做强化学习,兄弟问我:“哥,我想在昇腾上做蒙特卡洛模拟,随机数生成有现成的库吗?” 好问题。今天一次说清楚。 ops-rand 是啥? ops-rand Operations for Random,昇腾随机数生成算子库。 一…...
多智能体路由:从场景定义到Agent解析的工程实践
大家好,我是程序员小策。 场景:你正在做一个 AI 面试系统。产品经理说:“我们不光要一个通用聊天机器人,还要一个能自动出题、能给用户答案打分、还能分析用户表情神态的面试官。” 你一拍脑袋:行,不就是…...
