【问题标题】:webview does not allow me to choose filewebview 不允许我选择文件
【发布时间】:2017-10-26 19:13:45
【问题描述】:

当我点击 html 中的选择文件按钮时,我无法让对话框选择文件!

    webView=(WebView)findViewById(R.id.webview_upload_file);

    webView.setWebViewClient(new WebViewClient()); 
    webView.getSettings().setBuiltInZoomControls(true);       
    webView.getSettings().setAllowFileAccess(true);
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setAllowContentAccess(true);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setAllowFileAccess(true);

webView.loadUrl(link);

【问题讨论】:

    标签: android-studio webview settings


    【解决方案1】:

    我认为你必须使用android意图来做浏览文件

    检查这一行

    webView.setWebChromeClient(new WebChromeClient()  
    {  
           //The undocumented magic method override  
           //Eclipse will swear at you if you try to put @Override here  
           // For Android 3.0+
        public void openFileChooser(ValueCallback<Uri> uploadMsg) {  
    
            mUploadMessage = uploadMsg;  
            Intent i = new Intent(Intent.ACTION_GET_CONTENT);  
            i.addCategory(Intent.CATEGORY_OPENABLE);  
            i.setType("image/*");  
            MyWb.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE);  
    
           }
    
        // For Android 3.0+
           public void openFileChooser( ValueCallback uploadMsg, String acceptType ) {
           mUploadMessage = uploadMsg;
           Intent i = new Intent(Intent.ACTION_GET_CONTENT);
           i.addCategory(Intent.CATEGORY_OPENABLE);
           i.setType("*/*");
           MyWb.this.startActivityForResult(
           Intent.createChooser(i, "File Browser"),
           FILECHOOSER_RESULTCODE);
           }
    
        //For Android 4.1
           public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){
               mUploadMessage = uploadMsg;  
               Intent i = new Intent(Intent.ACTION_GET_CONTENT);  
               i.addCategory(Intent.CATEGORY_OPENABLE);  
               i.setType("image/*");  
               MyWb.this.startActivityForResult( Intent.createChooser( i, "File Chooser" ), MyWb.FILECHOOSER_RESULTCODE );
    
           }
    
    });  
    

    完整代码请查看此链接:android file upload

    【讨论】:

      猜你喜欢
      • 2019-12-11
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 2011-07-26
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多