根据我开发应用程序的要求,我们需要访问用户的地理位置。我们构建了一个基于Html 5的网站,并在webview中调用该网站URL来开发我们的移动应用程序。使用HTML5中的最新地理标记,我们可以访问网站中用户的地理位置。从Web视图调用时,仍然可以访问Geo位置吗?如果我错了,请纠正我。
答案 0 :(得分:0)
是的,但您需要使用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 )
。我不建议这样做(因为您的网站将在未经他们同意的情况下使用用户的位置)。