版本:7.1.0.00-20161006-0540 操作系統:Android的6.0.1在Android上使用6.x的getCurrentPosition
當試圖使用getCurrentPosition函數,它失敗 讓安全例外,而登記的位置更新來自系統。該應用程序沒有足夠的地理位置權限。
但不顯示允許該權限的對話框。我假設插件會爲你處理這個。 如果不是有一種方式與JS顯示用戶的提示?
版本:7.1.0.00-20161006-0540 操作系統:Android的6.0.1在Android上使用6.x的getCurrentPosition
當試圖使用getCurrentPosition函數,它失敗 讓安全例外,而登記的位置更新來自系統。該應用程序沒有足夠的地理位置權限。
但不顯示允許該權限的對話框。我假設插件會爲你處理這個。 如果不是有一種方式與JS顯示用戶的提示?
確保你在你的應用程序下面,每個文檔:
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);
}
}
謝謝,由於某種原因,我認爲更新插件將處理請求。 (不知道爲什麼Android沒有去IOS的路由和自己處理請求)另外,我認爲這也是相機和其他權限的方法.. – tik27