uniapp 添加定位权限及弹出权限弹框

这篇具有很好参考价值的文章主要介绍了uniapp 添加定位权限及弹出权限弹框。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景: Android 10 获取当前连接wifi 的名称,老是返回unkonw null,原因是没有获取到定位权限,打开定位权限后就可以获取。

Android 10 以后,获取定位权限需要在manifest.json中添加如下:

  "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
  "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
 "<uses-permission android:name=\"android.permission.ACCESS_BACKGROUND_LOCATION\"/>",

添加上如上权限之后,查看应用的权限,定位显示询问,还是没有获取到定位权限。

弹出定位权限弹框,让用户选择允许,实现如下:

     async openGps(){
        plus.android.requestPermissions(
        	['android.permission.ACCESS_FINE_LOCATION'], 
        	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);
        			result = 0
        		}
        		for (var i = 0; i < resultObj.deniedAlways.length; i++) {
        			var deniedAlwaysPermission = resultObj.deniedAlways[i];
        			console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
        			result = -1
        		}
            // 若所需权限被拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限
            if (result != 1) {
              //如果用户第一次拒绝后,跳转到**应用**的权限页面
               var Intent = plus.android.importClass("android.content.Intent");
               var Settings = plus.android.importClass("android.provider.Settings");
               var Uri = plus.android.importClass("android.net.Uri");
               var mainActivity = plus.android.runtimeMainActivity();
               var intent = new Intent();
               intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
               var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
               intent.setData(uri);
               mainActivity.startActivity(intent);
            }
        	},
        	function(error) {
        		console.log('申请权限错误:' + error.code + " = " + error.message);
        		resolve({
        			code: error.code,
        			message: error.message
        		});
        	}
        );
       },

主要代码:

plus.android.requestPermissions(
        	['android.permission.ACCESS_FINE_LOCATION'], 
        	function(resultObj) {}
 );

调用上边的代码,会出现弹框。文章来源地址https://www.toymoban.com/news/detail-514139.html

到了这里,关于uniapp 添加定位权限及弹出权限弹框的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp 获取手机定位权限及禁止拒绝后跳转设置页面

    问题:获取手机定位权限,在用户点击拒绝后,再次点击定位按钮,手机无反应。这里,安卓系统2次拒绝之后,默认为禁止询问弹窗弹出,所以再点击定位肯定没有反应。 一、解决思路:第一想到,检查是否打开GPS功能(Android),打开了直接跳转到地图定位页面,关闭状态

    2024年02月03日
    浏览(50)
  • 聊天uniapp 微信小程序以及安卓app键盘弹出会把底部fixed定位的textarea输入框覆盖掉的解决方法

    采用此方法解决 将pages.json文件在指定的页面中加入以下配置 “softinputMode”: “adjustResize” 具体代码如下,将container的高度设置为100vh 注意: 虽然加了100vh后,但是聊天窗口底部还是会被遮挡,这怎么办那?办法就是:把内框view设置成95vh,小于100vh就行。

    2024年02月05日
    浏览(63)
  • VUE实现弹出框 点击空白页弹框消失

    可以在Vue中实现弹出框然后通过点击空白页面来让弹窗隐藏。具体实现如下: 创建弹出框组件 在Vue中创建一个弹出框组件,用来呈现弹出框的内容和样式。该组件应该接受两个 props,一个是 show,表示弹出框是否显示,另一个是 onClose,表示弹出框的关闭函数。 创建父组件

    2024年02月15日
    浏览(44)
  • 添加系统级权限 android:sharedUserId=“android.uid.system“

    当我们在项目中添加系统级权限时,运行时会有错误提示如下: Installation did not succeed. The application could not be installed: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 之所以报错,是添加系统级权限之后还需要在目标系统的platform密钥来重新给apk文件签名。我这里用的签名文件是从目标系统中

    2024年02月13日
    浏览(46)
  • layui弹框(上)- 基础参数:弹出层、多按钮、对齐方式、遮罩层(透明度)、定时关闭...的集合

    一、使用layui的第一步:引用layui的js和css文件 link rel=\\\"stylesheet\\\" href=\\\"layui/css/layui.css\\\" / script src=\\\"layui/layui.js\\\"/script 您也可以引用网络资源 script src=\\\"layui.js:https://heerey525.github.io/layui-v2.4.3/layui/layui.js\\\"/script link rel=\\\"stylesheet\\\" href=\\\"https://heerey525.github.io/layui-v2.4.3/layui/css/layui.css\\\" 二、引

    2024年02月02日
    浏览(66)
  • selenium不定位元素直接使用键盘操作(如弹框操作)

    今天在使用selenium进行定位时,发现直接定位不了chrome的弹框,如这种弹框: 使用的是下面这行代码 运行报错,说是没有 alert windown。。。。 啊?难道chrome的弹框不是用alert写的?emmm……还真是,现在很少使用alert这种原生弹框了,多多少少都会自己封装下,然后就……全网

    2024年02月08日
    浏览(46)
  • HBuilder开发uniapp添加android的模拟器的方法

    我们知道使用uniapp开发多端app非常方便,开发过程中的模拟器也可以提高我们测试代码的效率。但我们按uniapp官网的方法,上google的官网下载模拟器,往往非常不方便。 下面我们来看一下使用其他模拟器的方法。 我们知道android开发中,adb.exe程序用来链接手机和程序的工具。

    2024年02月16日
    浏览(57)
  • vue中使用element-ui,重复点击按钮或多个请求同时报错时弹出多个message弹框解决方法

    1. 用这种 2. 参考: vue中使用element-ui,重复点击按钮或多个请求同时报错时弹出多个message弹框解决方法_donggua_123的博客-CSDN博客

    2024年02月11日
    浏览(49)
  • 解决uniapp手机端获取用户设备是否授权,进行授权提示,获取用户相机授权(Android 权限清单整理)

    最近在上架app时遇到了一些授权询问的问题,在这里简单记录一下,主要使用的是uniapp进行开发,在官网中有说明使用uni.authorize()进行授权请求,但是该方法不支持h5和app,所以采用plus.android.requestPermissions()方法进行授权判断操作,话不多说直接上代码 以下代码进行的

    2024年02月05日
    浏览(55)
  • Vue中ElementUI结合transform使用时,发现弹框定位不准确问题

            在近期开发中,需要将1920*1080放到更大像素大屏上演示,所以需要使用到transform来对页面进行缩放,但是此时发现弹框定位出错问题,无法准备定位到实际位置。         查看element-ui官方文档无果后,打算更换新的框架进行开发,但更换几个后发现都存在类似问题

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包