Salve a tutti.
In un'app android che apre delle pagine web in una WebView mi serve poter fare degli upload di file dal file system del terminale.
Cercando un pò su internet ho trovato il seguente codice da implementare in una ridefinizione della classe WebChromeClient da associare alla WebView.

codice:
myWebView.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) {  
                    try {
                    	Log.d(Costanti.TESTER_TAG, "DefaultWebViewActivity -  openFileChooser(ValueCallback<Uri> uploadMsg) START...");
                    	mUploadMessage = uploadMsg;  
		                Intent i = new Intent(Intent.ACTION_GET_CONTENT);  
		                i.addCategory(Intent.CATEGORY_OPENABLE);  
		                i.setType("*/*");
		                DefaultWebViewActivity.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE);  
                    }
                    catch (Exception e) {
                    	Log.d(Costanti.TESTER_TAG, "DefaultWebViewActivity -  openFileChooser(ValueCallback<Uri> uploadMsg) error: "+e.toString());
                    }
		           }


		        // For Android 3.0+
		        public void openFileChooser( ValueCallback uploadMsg, String acceptType ) {
		           try {
		        	   Log.d(Costanti.TESTER_TAG, "DefaultWebViewActivity -  openFileChooser( ValueCallback uploadMsg, String acceptType ) START... ");
		        	   mUploadMessage = uploadMsg;
		               Intent i = new Intent(Intent.ACTION_GET_CONTENT);
		               i.addCategory(Intent.CATEGORY_OPENABLE);
		               i.setType("*/*");
		               DefaultWebViewActivity.this.startActivityForResult(
		               Intent.createChooser(i, "File Browser"), FILECHOOSER_RESULTCODE);
		           }
                   catch (Exception e) {
                   	Log.d(Costanti.TESTER_TAG, "DefaultWebViewActivity -  openFileChooser( ValueCallback uploadMsg, String acceptType ) error: "+e.toString());
                   }
		       }


		        //For Android 4.1
		        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
		           try {
		        	   Log.d(Costanti.TESTER_TAG, "DefaultWebViewActivity -  openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) START...");
		        	   mUploadMessage = uploadMsg;  
		               Intent i = new Intent(Intent.ACTION_GET_CONTENT);  
		               i.setType("*/*"); 
		               i.addCategory(Intent.CATEGORY_OPENABLE);
		               DefaultWebViewActivity.this.startActivityForResult( Intent.createChooser(i, "File Browser" ), DefaultWebViewActivity.FILECHOOSER_RESULTCODE );
		           }
                   catch (Exception e) {
                   	   Log.d(Costanti.TESTER_TAG, "DefaultWebViewActivity -  openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) error: "+e.toString());
                   }
		        }


		    });
Ho provato ed effettivamente funziona ma mi permette di selezionare solo immagini e files multimediali.
Domanda come posso accedere a tutto il file system del terminale e selezionare ogni tipo di files?
Googleggiando ho trovato solo questa soluzione che, almeno sui terminali con SO versione 4.1.2 che sto usando io, hanno questo limite.

Ciao e grazie a chi risponderà