ionic1.x Marshmallow版本 系统权限获取插件diagnostic使用

1.插件安装

    ionic plugin add  cordova.plugins.diagnostic

2.代码使用

    这里以请求存储设备和相机访问权限为例

 function requestPermissions() { 
            function requestPermission(permissions) {
              window.cordova.plugins.diagnostic.requestRuntimePermissions(function (statusObject, err) {
                let statusArray = _.toArray(statusObject);
                if (_.filter(statusArray, function (num) {
                    return num === window.cordova.plugins.diagnostic.runtimePermissionStatus.DENIED;
                  }).length > 0) { //拒绝授权
                  console.log("Permission denied - ask again");
                  $ionicPopup.alert({title: "应用需要此权限,请为应用程序添加此权限"}).then(function () {
                    requestPermission(permissions);
                  });
                } else if (_.filter(statusArray, function (num) {
                    return num === window.cordova.plugins.diagnostic.runtimePermissionStatus.DENIED_ALWAYS;
                  }).length > 0) { //拒绝授权,不再出现授权提示
                  console.log("Permission permanently denied");
                  if (permissions === window.cordova.plugins.diagnostic.permissionGroups.STORAGE) {
                    $ionicPopup.alert({title: "应用被关闭存储设备权限,请为应用程序添加此权限,程序将自动关闭"}).then(function () {
                      navigator.app.exitApp();
                    });
                  } else {
                    $ionicPopup.alert({title: "应用被关闭相机权限,请为应用程序添加此权限,程序将自动关闭"}).then(function () {
                      navigator.app.exitApp();
                    });
                  }
                } else {
                  console.log("Permission granted (or already granted) - call the plugin");
                }
              }, function (error) {
                console.error("授权失败: " + error);
              }, permissions);
            }

            let permissios = [].concat(window.cordova.plugins.diagnostic.permissionGroups.CAMERA).concat(window.cordova.plugins.diagnostic.permissionGroups.STORAGE);
            requestPermission(permissios); //请求存储设备和相机访问权限
          }


//在app.js 调用代码 run方法中调用
 if (window.cordova.plugins.diagnostic) {
              requestPermissions();
  }

 

转载于:https://my.oschina.net/u/615101/blog/857667

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值