在我的应用程序中,我正在使用 webview,并且正在打开 URL“drive.google.com/keep” 在网页中创建注释时,可以选择从图库中选择图像,当我点击它时选择图像没有任何反应,应用程序没有做任何事情就呆在那里。在 Web 浏览器中,它可以正确打开图库。我想我错过了启用我不知道的东西。这是我的代码:
活动代码:
public void webviewSetup() {
setContentView(R.layout.activity_main);
CookieSyncManager.createInstance(this);
keepWebView = (WebView) findViewById(R.id.activity_main_webview);
keepWebView.addJavascriptInterface(keepWebView, url);
WebSettings webSet = keepWebView.getSettings();
webSet.setJavaScriptEnabled(true);
final ProgressBar pb = getProgressBar();
if (pb != null)
pb.setVisibility(View.VISIBLE);
// Enabling local database
webSet.setDatabaseEnabled(true);
// Enable manifest cache.
String cachePath = this.getApplicationContext()
.getDir("cache", Context.MODE_PRIVATE).getPath();
webSet.setAppCachePath(cachePath);
webSet.setAllowFileAccess(true);
webSet.setAppCacheEnabled(true);
webSet.setDomStorageEnabled(true);
// webSet.setAppCacheMaxSize(1024 * 1024 * 8);
webSet.setCacheMode(WebSettings.LOAD_DEFAULT);
// loads the url
keepWebView.loadUrl(url);
keepWebView.setWebViewClient(new KeepWebViewClient(this, keepWebView,
pb));
}
还有我的 KeepWebViewClient.class
public class KeepWebViewClient extends WebViewClient {
Activity activity;
WebView wv;
View pd;
public KeepWebViewClient(Activity activity, WebView wv, View pd) {
this.activity = activity;
this.wv = wv;
this.pd = pd;
}
@Override
public boolean shouldOverrideUrlLoading(WebView mWebView, String url) {
mWebView.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
if (pd != null)
pd.setVisibility(View.GONE);
CookieSyncManager.getInstance().sync();
super.onPageFinished(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.d("GoogleApps", "loading " + url);
if (pd != null)
pd.setVisibility(View.VISIBLE);
super.onPageStarted(view, url, favicon);
}
}
任何帮助将非常感激。谢谢