Android WebView File Upload Enable Code (Android Studio & Sketchware)
Agar aap Android WebView App bana rahe ho to aapne ek common problem jarur dekhi hogi. Jab user website me upload button par click karta hai to gallery open nahi hoti. Is wajah se image upload ya file upload ka option kaam nahi karta.
Aaj ke is detailed tutorial me hum aapko batayenge ki WebView me File Upload ka feature kaise enable kare. Yeh method Android Studio aur Sketchware dono me kaam karta hai.
---WebView File Upload Problem Kyu Hoti Hai
Default Android WebView sirf website ko display karta hai. Lekin jab website me input type="file" use hota hai to Android ko pata nahi hota ki user ko kaunsi app open karni hai.
Isliye jab upload button par click hota hai to kuch bhi nahi hota. Is problem ko solve karne ke liye hame WebChromeClient ka use karna padta hai.
---WebChromeClient Kya Hota Hai
WebChromeClient ek Android class hai jo WebView ke advanced features ko handle karti hai. Jaise:
- File Upload
- JavaScript Dialog
- Video Fullscreen
- Progress Loading
Hum WebChromeClient ka use karke Android system ko bolte hain ki jab website file upload maange to gallery open karo.
---Android Studio me WebView File Upload Enable Kaise Kare
Agar aap Android Studio use kar rahe ho to neeche diye gaye steps follow kare.
Step 1 – Android Studio Project Open Kare
Sabse pehle Android Studio open kare aur apna WebView project load kare.
Step 2 – MainActivity.java Open Kare
Ab MainActivity.java file open kare.
Step 3 – Java Code Add Kare
Ab neeche diya gaya Java code paste kare.
---Full Java Code
import android.webkit.WebChromeClient;
import android.webkit.ValueCallback;
import android.content.Intent;
import android.net.Uri;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
private WebView webView;
private ValueCallback filePathCallback;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webView = new WebView(this);
setContentView(webView);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setAllowFileAccess(true);
settings.setAllowContentAccess(true);
settings.setAllowFileAccessFromFileURLs(true);
settings.setAllowUniversalAccessFromFileURLs(true);
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onShowFileChooser(
WebView webView,
ValueCallback filePathCallback,
FileChooserParams fileChooserParams) {
MainActivity.this.filePathCallback = filePathCallback;
Intent intent = fileChooserParams.createIntent();
startActivityForResult(intent, 1);
return true;
}
});
webView.loadUrl("file:///android_asset/index.html");
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == 1) {
if(filePathCallback == null) return;
Uri[] result = WebChromeClient.FileChooserParams.parseResult(resultCode, data);
filePathCallback.onReceiveValue(result);
filePathCallback = null;
}
super.onActivityResult(requestCode, resultCode, data);
}
}
Sketchware Me File Upload Enable Kaise Kare
Agar aap Sketchware ya Sketchware Pro use karte ho to bhi yeh code use kar sakte ho.
- Sketchware project open kare
- WebView component add kare
- More Blocks open kare
- Custom Java code add kare
- App build kare
Important Permissions
File upload ke liye kuch permissions bhi jaruri hoti hain.
- Internet Permission
- Storage Permission
- File Access Permission
WebView App Banate Time Dhyan Rakhe
Agar aap WebView app bana rahe ho to kuch best practices follow kare:
- Mobile friendly website use kare
- Fast hosting use kare
- HTTPS website ho
- JavaScript enabled ho
Conclusion
Agar aap WebView app bana rahe ho aur file upload ka option kaam nahi kar raha to yeh Java code use karke aap us problem ko easily solve kar sakte ho.
Is code ki help se user gallery open kar sakta hai aur image upload kar sakta hai. Yeh method Android Studio aur Sketchware dono me kaam karta hai.
Android WebView file upload
WebView file chooser Android
Sketchware WebView file upload
Android Studio WebView upload code
WebView gallery upload fix
WebView input file not working

0 Comments