根据我在开发应用程序时的要求,我们需要访问用户的地理位置。我们构建一个基于HTML5的网站,并在webview中调用该网站的URL来开发我们的移动应用程序。来自HTML5的最新地理标签WIth我们可以在网站中访问用户的地理位置。从web视图呼叫时,是否仍然可以访问相同的地理位置?如果我错了,请纠正我。
发布于 2014-01-18 05:44:36
可以,但您需要使用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 )
。我不建议这样做(因为你的网站将在没有得到用户同意的情况下使用他们的位置)。
https://stackoverflow.com/questions/21195962
复制相似问题