Sketchware में WebView के साथ File Upload चालू करें – सिर्फ 5 मिनट में
अब जब Sketchware में Java Code सीधे प्रोजेक्ट में डालने का विकल्प है, आप WebView से फाइल अपलोड फीचर भी आसानी से जोड़ सकते हैं। नीचे दिए गए स्टेप्स को फॉलो करें:
1. WebView ऐड करें
VIEW सेक्शन में एक WebView जोड़ें। इसका ID ध्यान रखें, आमतौर पर यह webview1 होता है।
2. onCreate में Java Code जोड़ें
LOGIC सेक्शन में onCreate ईवेंट में जाएं और "add source directly" ब्लॉक में नीचे दिया गया कोड डालें:
webview1.setWebChromeClient(new WebChromeClient() {
// For 3.0+ Devices
protected void openFileChooser(ValueCallback uploadMsg, String acceptType) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
startActivityForResult(Intent.createChooser(i, "File Browser"), FILECHOOSER_RESULTCODE);
}
// For Lollipop 5.0+ Devices
public boolean onShowFileChooser(WebView mWebView, ValueCallback filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) {
if (uploadMessage != null) {
uploadMessage.onReceiveValue(null);
uploadMessage = null;
}
uploadMessage = filePathCallback;
Intent intent = fileChooserParams.createIntent();
try {
startActivityForResult(intent, REQUEST_SELECT_FILE);
} catch (ActivityNotFoundException e) {
uploadMessage = null;
Toast.makeText(getApplicationContext(), "Cannot Open File Chooser", Toast.LENGTH_LONG).show();
return false;
}
return true;
}
// For Android 4.1 only
protected void openFileChooser(ValueCallback uploadMsg, String acceptType, String capture) {
mUploadMessage = uploadMsg;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "File Browser"), FILECHOOSER_RESULTCODE);
}
protected void openFileChooser(ValueCallback uploadMsg) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
startActivityForResult(Intent.createChooser(i, "File Chooser"), FILECHOOSER_RESULTCODE);
}
});
Note: यदि WebView का ID webview1 नहीं है, तो कोड में उसे बदलें।
3. WebView Load URL
अब webview loadUrl ब्लॉक का उपयोग करें और उस वेबसाइट का URL डालें जिसे आप WebView में लोड करना चाहते हैं।
4. FilePicker ऐड करें
VIEW सेक्शन में FilePicker कंपोनेंट ऐड करें।
5. More Block 'extra' बनाएँ
एक नया More Block बनाएं जिसका नाम रखें extra।
6. 'extra' ब्लॉक में यह कोड डालें:
}
private ValueCallback mUploadMessage;
public ValueCallback uploadMessage;
public static final int REQUEST_SELECT_FILE = 100;
private final static int FILECHOOSER_RESULTCODE = 1;
{
7. FilePicker onFilesPicked ईवेंट में कोड डालें
}
break;
case REQUEST_SELECT_FILE:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (uploadMessage == null) return; uploadMessage.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(_resultCode, _data)); uploadMessage = null; }
break;
case FILECHOOSER_RESULTCODE:
if (null == mUploadMessage){
return; }
Uri result = _data == null || _resultCode != RESULT_OK ? null : _data.getData(); mUploadMessage.onReceiveValue(result);
mUploadMessage = null;
if (true){
8. App को सेव करके रन करें
अब आपका WebView फाइल अपलोड सपोर्ट करता है। यूज़र WebView में किसी भी वेबसाइट से फाइल चुन सकता है।
run the project.
नोट: यह फीचर एंड्रॉयड 5.0+ डिवाइसेज़ के लिए बेहतर तरीके से काम करता है।
0 Comments