dch*_*amb 5 android location google-chrome webview
我有一个WebView,它打开一个需要访问用户位置的URL.它可以确定在应用程序外部使用Google Chrome时的位置,但在应用程序中,它表示我不允许应用程序使用位置.目前我已添加
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
在我的Manifest和我的班级里,我有:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webViewActivity);
WebView webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webSettings.setAllowUniversalAccessFromFileURLs(true);
webSettings.setDomStorageEnabled(true);
webSettings.setGeolocationEnabled(true)
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?谢谢您的帮助.
你必须导入android.webkit.GeolocationPermissions.Callback和android.webkit.WebChromeClient刚刚设置的起源提供了地理位置许可状态通过调用callback.invoke(origin, true, false);中onGeolocationPermissionsShowPrompt的方法,WebChromeClient像下面
码
mWebView = (WebView) findViewById(R.id.mywebview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webSettings.setJavaScriptEnabled(true);
webSettings.setGeolocationEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient(){
@Override
public void onGeolocationPermissionsShowPrompt(String origin,
Callback callback) {
callback.invoke(origin, true, false);
}
});
mWebView.loadUrl("http://www.google.com");
Run Code Online (Sandbox Code Playgroud)
并且您必须添加2个清单权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
希望它有效.
| 归档时间: |
|
| 查看次数: |
4603 次 |
| 最近记录: |