白罂粟
白罂粟
  • 发布:2018-10-16 16:47
  • 更新:2019-06-01 18:16
  • 阅读:3353

android native判断是否有定位权限

分类:Native.js

/**  
 * 判断是否有定位权限  android在23之后有动态获取权限方法23之下需要抓异常去判断是否开启  
 */  
Utils.prototype.getLocationPermission = function () {  
  var main = plus.android.runtimeMainActivity();  
  var Build = plus.android.importClass("android.os.Build");  
  var Manifest = plus.android.importClass("android.Manifest");  
  var PackageManager = plus.android.importClass("android.content.pm.PackageManager");  
  //上面三个导入android的类  

  var Permission = Manifest.permission;  
  var VERSION = Build.VERSION;  
  var VERSION_CODES = Build.VERSION_CODES;  
  //Permission.ACCESS_FINE_LOCATION对应定位的权限。  

  var isCheck = Permission.ACCESS_FINE_LOCATION;  
  var pkName = main.getPackageName();  
  var packageManager = main.getPackageManager();  
  console.log(isCheck);  
  var GRANTED = '';  
  //android6.0以上可以动态判断是否开启权限 6.0对应的是android 23版本 VERSION_CODES.M  

  if (VERSION.SDK_INT >= VERSION_CODES.M) {  
    GRANTED = plus.android.invoke(main, 'checkSelfPermission', isCheck);  
    alert(GRANTED);  
    if (GRANTED == PackageManager.PERMISSION_DENIED) {  
      console.log('没开启定位权限');  
    } else {  
      console.log('启定位权限');  
    }  
  } else {  
    GRANTED = plus.android.invoke(packageManager, 'checkPermission', isCheck, pkName);  
    alert(GRANTED);  
    if (GRANTED == PackageManager.PERMISSION_DENIED) {  
      console.log('没开启定位权限');  
    } else {  
      console.log('启定位权限');  
    }  
  }  
}

android代码

2 关注 分享
1***@qq.com 6***@qq.com

要回复文章请先登录注册

白罂粟

白罂粟 (作者)

回复 王者地带 :
你别闹啊 android拒绝之后是不会再给你提示了 需要你自己到应用权限打开
2019-06-01 18:16
王者地带

王者地带

回复 6***@qq.com :
如果是Android 6.0以上,不想需要什么开启权限, 只要你使用定位功能,如果没有权限,它就会弹出一个提示框,问你是否同意定位,就算你点击拒绝了, 你再使用定位功能时又会提示,这就是动态权限, 不需要你到手机设置那里设置
2019-06-01 16:47
白罂粟

白罂粟 (作者)

回复 6***@qq.com :
具体的要android支持动态开启权限哪几种,而且还要你去找需要开启的权限类别。
Permission.ACCESS_FINE_LOCATION这个是开启定位的,其他的类别你要看一下android文档才行
2019-06-01 14:03
6***@qq.com

6***@qq.com

怎么动态开启权限呢?
2019-05-31 17:45