Android WebView File Upload Enable Code (Android Studio & Sketchware)

Android WebView File Upload Enable Code (Android Studio & Sketchware)


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.

  1. Sketchware project open kare
  2. WebView component add kare
  3. More Blocks open kare
  4. Custom Java code add kare
  5. 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

Post a Comment

0 Comments