安卓网络视图 vs 安卓浏览器



我正在尝试在Web视图中加载网页,我可以做到这一点,但是有一个按钮可以允许您上传文件。当我在 android 上的 Chrome 应用程序中加载页面并打开文件浏览器时,此按钮工作正常,在 Web 视图上如何什么都没有发生。是否可以将Chrome用于Web视图,或者如何获取此按钮以从Web视图触发文件选择器?

我尝试更改Web视图选项以启用javascript ect,以下是Web活动的代码:

 public class WebActivity extends Activity  {
Button b1;
WebView wv;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_web);
    b1=(Button)findViewById(R.id.button);
    wv=(WebView)findViewById(R.id.webView);
    //wv1.setWebViewClient(new MyBrowser());
    wv.setWebChromeClient(new WebChromeClient());
    b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            WebSettings webSettings = wv.getSettings();
            webSettings.setJavaScriptEnabled(true);
            webSettings.setAppCacheEnabled(true);
            webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
            webSettings.setAllowFileAccess(true);
            wv.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
            wv.loadUrl("MY WEBSITE URL");
            wv.setWebChromeClient(new WebChromeClient());
            wv.setWebViewClient(new WebViewClient() {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    // TODO Auto-generated method stub
                    if (url.startsWith("tel:") || url.startsWith("mailto:")) {
                        Intent intent = new Intent(Intent.ACTION_VIEW,
                                Uri.parse(url));
                        startActivity(intent);
                    }else if(url.startsWith("http:") || url.startsWith("https:")) {
                        view.loadUrl(url);
                    }
                    return true;
                }
            });
        }
    });
}

}

试试下面的代码。

 WebView wv;
    WebSettings webSettings = wv.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setAppCacheEnabled(true);
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
    webSettings.setAllowFileAccess(true);
    wv.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
    wv.loadUrl("YOUR URL HERE");
            wv.setWebViewClient(new WebViewClient() {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    // TODO Auto-generated method stub
                    if (url.startsWith("tel:") || url.startsWith("mailto:")) { 
                        Intent intent = new Intent(Intent.ACTION_VIEW,
                                Uri.parse(url)); 
                        startActivity(intent); 
                    }else if(url.startsWith("http:") || url.startsWith("https:")) {
                        view.loadUrl(url);
                    }
                    return true;
                }
            });
    wv.setWebChromeClient(new WebChromeClient());

希望这对您有所帮助。

有些选项默认不启用,很可能你没有javascript。

WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);

最新更新