/**
* 判断是否有定位权限 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('启定位权限');
}
}
}