2016-10-13 23 views
-1

版本:7.1.0.00-20161006-0540 操作系統:Android的6.0.1在Android上使用6.x的getCurrentPosition

當試圖使用getCurrentPosition函數,它失敗 讓安全例外,而登記的位置更新來自系統。該應用程序沒有足夠的地理位置權限。

但不顯示允許該權限的對話框。我假設插件會爲你處理這個。 如果不是有一種方式與JS顯示用戶的提示?

回答

1

確保你在你的應用程序下面,每個文檔:
https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.1/advanced-client-side-development/location-services-hybrid-applications/#androidPermissions

Android的棉花糖,需要在運行時被授予用戶權限。由於以Javascript編寫的運行時代碼無法訪問Android API,因此在啓動Cordova Web Framework之前,必須先由本機代碼請求和檢查這些權限。本地文件夾中的文件[應用程序名稱] .java負責加載網絡資源。用於請求和檢查位置服務權限的代碼應該在此文件中調用,例如在onInitWebFrameworkComplete中。

public void onInitWebFrameworkComplete(WLInitWebFrameworkResult result) { 
    if (result.getStatusCode() == WLInitWebFrameworkResult.SUCCESS) { 
     super.loadUrl(WL.getInstance().getMainHtmlFilePath()); 
    } else { 
     handleWebFrameworkInitFailure(result); 
    } 

    if (! (WLClient.getInstance().getContext().checkSelfPermission(android.Manifest.permission.ACCESS_FINE_LOCATION)== PackageManager.PERMISSION_GRANTED)) { 
     requestPermissions(new String[ { 
      android.Manifest.permission.ACCESS_FINE_LOCATION}, 0); 
    } 
} 
+0

謝謝,由於某種原因,我認爲更新插件將處理請求。 (不知道爲什麼Android沒有去IOS的路由和自己處理請求)另外,我認爲這也是相機和其他權限的方法.. – tik27

相關問題