-
[Android]웹뷰에서 파일 업로드 시키기Development/Android 2020. 9. 9. 01:38반응형
wv.setWebChromeClient(new WebChromeClient() { public boolean onShowFileChooser(WebView mWebView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) { if (uploadMessage != null) { uploadMessage.onReceiveValue(null); uploadMessage = null; } uploadMessage = filePathCallback; Intent intent = null; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { intent = fileChooserParams.createIntent(); } try { startActivityForResult(intent, REQUEST_SELECT_FILE); } catch (ActivityNotFoundException e) { uploadMessage = null; Toast.makeText(MainActivity.this, "Cannot Open File Chooser", Toast.LENGTH_LONG).show(); return false; } return true; } });
@Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (requestCode == REQUEST_SELECT_FILE) { if (uploadMessage == null) return; uploadMessage.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, intent)); uploadMessage = null; } } else if (requestCode == FILECHOOSER_RESULTCODE) { if (null == mUploadMessage) return; // Use MainActivity.RESULT_OK if you're implementing WebView inside Fragment // Use RESULT_OK only if you're implementing WebView inside an Activity Uri result = intent == null || resultCode != MainActivity.RESULT_OK ? null : intent.getData(); mUploadMessage.onReceiveValue(result); mUploadMessage = null; } else Toast.makeText(MainActivity.this, "Failed to Upload Image", Toast.LENGTH_LONG).show(); }
반응형'Development > Android' 카테고리의 다른 글
[Android] 안드로이드 Q(안드로이드10)부터 백그라운드에서의 앱실행 제한 (0) 2020.10.14 [Android] ListView Adapter에서 getView() 호출 종료 여부 확인하기 (0) 2020.10.12 [Android] 재귀함수를 통한 보상형 광고 로드 (0) 2020.10.08 [Android]웹뷰에서 다운로드 관리자 실행하기 (0) 2020.09.09 [Android]안드로이드 MainActivity에서 Viewpager의 Fragment 가져오기 (0) 2020.08.08 [Android]Java 디컴파일하는 법 (0) 2020.07.30 [어플도사] 개인정보처리방침 (0) 2020.07.24 [Android]안드로이드 apk 업로드 오류 (0) 2020.07.24 [안드로이드 스튜디오] 3.1버전에서 DDMS(DeviceMonitor) 열기 (0) 2018.06.22 [안드로이드] 안드로이드 스튜디오 3.1 Configuration~ 경고 제거법 (2) 2018.06.18