2016-06-07 56 views
0

我正在開發具有6.0.1版本的Android手機上的Ionic應用程序,並且遇到有關地理位置權限的問題。Ionic,在權限對話框中單擊NEVER後無法重新啓用地理位置權限

  1. 該應用程序成功詢問用戶的地理位置權限,但是當用戶在對話框中單擊從不,當應用程序無法再次詢問。
  2. 用戶點擊NEVER後,我們的應用程序在Android應用程序權限中的地理位置權限仍處於啓用狀態。 (切換,這沒有幫助)
  3. 只有重新安裝應用程序,應用程序再次請求權限。

enter image description here

解決方案:

  1. 的對話框要求啓用位置,而不是請求許可。
  2. 該對話框由插件https://github.com/mapsplugin/cordova-plugin-googlemaps打開,而從不按鈕不鏈接到android設置。
  3. 我通過使用另一個插件來處理打開位置服務的打開問題,該服務沒有Never選項來解決問題。
+0

「我通過使用另一個插件來處理打開位置服務打開問題的解決方案,該服務沒有Never選項。」那是另一個插件? –

回答

2

該應用程序成功地要求用戶進行地理定位的許可,但是當用戶在對話框中點擊NEVER,應用程序不能再問。

這是Android 6.0上的預期行爲:一旦用戶通過選中「永不再問」框永久拒絕權限,則不允許該應用程序通過對話框以編程方式提示用戶。

唯一的選擇是指導用戶如何通過設置頁面手動允許權限。爲了解決這個問題,您可以使用cordova-diagnostic-plugin中的switchToSettings()將用戶切換到您的應用的設置頁面。

用戶點擊NEVER後,我們應用在Android應用權限中的地理位置權限仍然處於啓用狀態。 (撥動它不能幫助)

這不應該是這樣的:手動允許通過應用程序設置頁面的權限將允許該應用使用該功能。您可以使用Android permissions example app for cordova-diagnostic-plugin來確認這一點。但是,這取決於您用來處理權限請求的插件如何響應「再也不問」的情況。也許你需要使用cordova-diagnostic-plugin手動檢查權限狀態,如果是DENIED_ALWAYS,則切換到應用設置頁面。

+0

謝謝,我會稍後再試 – nlgn

+0

這個插件讓我明白實際發生了什麼。權限始終處於啓用狀態。而從不選擇意味着不要求啓用位置而不是允許。不管怎樣,謝謝! – nlgn