
插件:
cordova-diagnostic-plugin (github)
代码:
//授权都是ok的才会给回调,否则不会有回调,去找用户要授权去了function locationAvailable(callBack) { //位置是否授权 cordova.plugins.diagnostic.isLocationAuthorized(function (authorized) { console.log("Location is " + (authorized ? "authorized" : "unauthorized")); if (authorized) { isLocationEnabled(callBack) } else { getLocationAuthorizationStatus() } }, function (error) { console.error("The following error occurred: " + error); });}function isLocationEnabled(callBack) { //gps是否打开,设置里的位置开关是否打开 cordova.plugins.diagnostic.isLocationEnabled(function (enabled) { console.log("Location setting is " + (enabled ? "enabled" : "Disabled")); if (enabled) { callBack() } else { function onConfirm(buttonIndex) { if (buttonIndex == 2) { cordova.plugins.diagnostic.switchTolocationSettings(); } } navigator.notification.confirm( Language.gpsOpenAlert, // message onConfirm, // callback to invoke with index of button pressed Language.prompt, // Title [Language.cancel, Language.done] // buttonLabels ); } }, function (error) { console.error("The following error occurred: " + error); });}function getLocationAuthorizationStatus() { cordova.plugins.diagnostic.getLocationAuthorizationStatus(function (status) { console.log(status) switch (status) { case cordova.plugins.diagnostic.permissionStatus.NOT_REQUESTED: console.log("Permission not requested"); break; case cordova.plugins.diagnostic.permissionStatus.DENIED_ALWAYS: console.log("Permission denIEd always"); break; case cordova.plugins.diagnostic.permissionStatus.GRANTED: console.log("Permission granted always"); break; case cordova.plugins.diagnostic.permissionStatus.GRANTED_WHEN_IN_USE: console.log("Permission granted only when in use"); break; case cordova.plugins.diagnostic.permissionStatus.DENIED_ONCE: console.log("Permission denIEd once"); break; } if (status == cordova.plugins.diagnostic.permissionStatus.DENIED_ALWAYS) { //d框后跳到设置界面 console.log("d框") function onConfirm(buttonIndex) { if (buttonIndex == 2) { console.log("跳到设置界面") cordova.plugins.diagnostic.switchToSettings(function(){ console.log("Successfully switched to Settings app"); }, function(error){ console.error("The following error occurred: "+error); }); } } navigator.notification.confirm( Language.locationAuthoritIEd, // message onConfirm, // function(){} callback to invoke with index of button pressed Language.prompt, // Title [Language.cancel, Language.done] // buttonLabels ); return } //请求位置授权 ios,androID都可以呼出,并且有用户选择的回调 cordova.plugins.diagnostic.requestLocationAuthorization(function(status){ console.log(status);//authorized_when_in_use }, function(error){ console.error(error); }, cordova.plugins.diagnostic.locationAuthorizationMode.WHEN_IN_USE);//ALWAYS }, function (error) { console.error("The following error occurred: " + error); });}2.iOS请求用户授权的系统位置d框也是可以用代码调出来的示例:
//请求位置授权 ios,androID都可以呼出,并且有用户选择的回调 cordova.plugins.diagnostic.requestLocationAuthorization(function(status){ console.log(status);//authorized_when_in_use }, function(error){ console.error(error); }, cordova.plugins.diagnostic.locationAuthorizationMode.WHEN_IN_USE);//ALWAYS 总结 以上是内存溢出为你收集整理的cordova(ios android)位置权限 gps位置开关开启 跳到设置界面全部内容,希望文章能够帮你解决cordova(ios android)位置权限 gps位置开关开启 跳到设置界面所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)