0
根據我在開發應用程序時的需求,我們需要訪問用戶的地理位置。我們建立一個基於Html 5的網站,並在web視圖中調用該網站的URL來開發我們的移動應用程序。通過HTML5中的最新地理標籤,我們可以訪問網站中用戶的地理位置。從Web視圖調用時,地理位置仍可以訪問嗎?糾正我,如果我錯了。可以在android訪問地理位置的webview?
根據我在開發應用程序時的需求,我們需要訪問用戶的地理位置。我們建立一個基於Html 5的網站,並在web視圖中調用該網站的URL來開發我們的移動應用程序。通過HTML5中的最新地理標籤,我們可以訪問網站中用戶的地理位置。從Web視圖調用時,地理位置仍可以訪問嗎?糾正我,如果我錯了。可以在android訪問地理位置的webview?
是的,但您需要使用WebChromeClient
自己實現位置對話框功能。下面是一個簡單的例子:
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage(origin + " would like to use your current location");
builder.setNegativeButton("Don't Allow", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
callback.invoke(origin, false, false);
dialog.dismiss();
}
});
builder.setPositiveButton("Okay", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
callback.invoke(origin, true, false);
dialog.dismiss();
}
});
};
});
您可以直接調用callback.invoke(origin, true, false)
,如果你不希望顯示權限對話框用戶。但我不會建議(因爲您的網站將在未經他們同意的情況下使用用戶的位置)。