簡體   English   中英

Phonegap:如果第一次被拒絕,則再次請求許可

[英]Phonegap: Ask for permission again if denied first time

我正在使用Phonegap cli-8.0.0構建我的應用程序。

當我的應用程序首次加載時,它會提示用戶2個權限-位置和通知,這很好。

現在,如果用戶不小心點擊了錯誤的按鈕並拒絕了該插件,則可以檢查權限是否被拒絕? 如果是這樣,則提示新請求? 而不是用戶必須進入電話設置>隱私等...以允許權限

使用的插件:

  <plugin name="cordova-plugin-geolocation" spec="*" />
  <plugin name="phonegap-plugin-push" spec="2.1.3" />

您可以使用此插件: https : //github.com/dpa99c/cordova-diagnostic-plugin

它使您能夠檢查用戶是否拒絕授權並再次詢問。

您可以這樣做:

function requestLocationAuth(firstTime) {
    cordova.plugins.diagnostic.requestLocationAuthorization(function(status){
        var needRequest = false;
        switch(status){
            case cordova.plugins.diagnostic.permissionStatus.NOT_REQUESTED:
                needRequest = true;
                console.log("Permission not requested");
                break;
            case cordova.plugins.diagnostic.permissionStatus.DENIED_ONCE: // Only Android
            case cordova.plugins.diagnostic.permissionStatus.DENIED_ALWAYS:
                needRequest = true;
                console.log("Permission denied");
                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;
        }

        if (needRequest && firstTime) {
            requestLocationAuth(false);
        }

    }, function(error){
        console.error(error);
    }, cordova.plugins.diagnostic.locationAuthorizationMode.ALWAYS);
}

requestLocationAuth(true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM