cordova(ios android)位置权限 gps位置开关开启跳到设置界面

cordova(ios android)位置权限 gps位置开关开启跳到设置界面,第1张

概述文章目录1.cordova插件代码2.iOS请求用户授权的系统位置d框也是可以用代码调出来的1.cordova插件代码插件:cordova-diagnostic-plugin(github)代码://授权都是ok的才会给回调,否则不会有回调,去找用户要授权去了functionlocationAvailable(callBack){//位

文章目录1.cordova插件代码2.iOS请求用户授权的系统位置d框也是可以用代码调出来的

1.cordova插件代码

插件:
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位置开关开启 跳到设置界面所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1053279.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存