webView 이미지와 동영상 업로드 가능하게 하기 위해서 사용

webView 이미지와 동영상 업로드 가능하게 하기 위해서 사용

작성일 2019.01.12댓글 1건
    게시물 수정 , 삭제는 로그인 필요

mWebView.setWebChromeClient(new WebChromeClient() {
    // For Android < 3.0
    public void openFileChooser( ValueCallback<Uri> uploadMsg) {
        Log.d("MainActivity", "3.0 <");
        openFileChooser(uploadMsg, "");
    }
 
    // For Android 3.0+
    public void openFileChooser( ValueCallback<Uri> uploadMsg, String acceptType) {
        Log.d("MainActivity", "3.0+");
        m_oInstance.filePathCallbackNormal = uploadMsg;
        Intent i = new Intent(Intent.ACTION_GET_CONTENT);
        i.addCategory(Intent.CATEGORY_OPENABLE);
        i.setType("image/*");               
        m_oInstance.startActivityForResult(Intent.createChooser(i, "File Chooser"), m_oInstance.FILECHOOSER_NORMAL_REQ_CODE);
    }
 
    // For Android 4.1+
    public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
        Log.d("MainActivity", "4.1+");
        openFileChooser(uploadMsg, acceptType);
    }
 
    // For Android 5.0+
    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    public boolean onShowFileChooser(
            WebView webView, ValueCallback<Uri[]> filePathCallback,
            FileChooserParams fileChooserParams) {
        Log.d("MainActivity", "5.0+");
 
        // Callback 초기화 (중요!)
        if (filePathCallbackLollipop != null) {
            filePathCallbackLollipop.onReceiveValue(null);
            filePathCallbackLollipop = null;
        }
        filePathCallbackLollipop = filePathCallback;
 
        boolean isCapture = fileChooserParams.isCaptureEnabled();
        runCamera(isCapture);
        return true;
    }
});


위의 내용을 WebChromeClient 에 추가하고 저번 처럼 MainActivity에서 실행하고 싶습니다.

나머지 소스는 내용이 너무 길어지고 정리가 잘 안 될것 같아서 원본 사이트 주소를 남겨 드립니다.


http://mixup.tistory.com/99


기존에 수정해 주신 클래스에 위의 소스를 추가 부탁드립니다.

직접 했는데 에러가 자꾸나고 자바 완전 초보라서 다시 부탁드립니다.


기존에 답변해 주신 질문 링크 올립니다.


https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040104&docId=317881198&ref=me1lnk&scrollTo=answer1


감사합니다.





profile_image 익명 작성일 -

 권한 요청 코드는 필요하신 권한에 대해 블로그에 나온대로 코드 부분을 수정해서 쓰시면 되고,
파일 업로드 관련 코드는 정리 및 기능 확장 (. . ;)해서 공부에 참고하시라고 
샘플 코드 보내드립니다.

 참고로 답변이 늦어지는 경우가 있어 1:1 질문은 잘 받지 않습니다. 
그럼 즐코딩하세요.

노트북 추천

... 사용하는데 랙 안걸리고 잘 돌아가며 동영상 업로드 및... 원활하게 사용 가능한 노트북에 대해 문의하셨는데요. 위와 같은 작업을 원활하게 하기 위해서는 높은 사양의...

디카로 찍은 동영상을 카페에 올리는...

... 최근에 생긴 동영상 업로드 서비스는 엠군, mncast... 플레이어를 사용하기 때문에 동영상을 보기위해서는... 플래시특유의 깔끔한 이미지라고 할까...(플레이어는 여기가...

홈페이지를 만들 때 필요한 것들을...

... 단 파일이나 동영상 업로드시에 제한이 있어서 작은... 입주를 하기 때문에 메일서버 구축, 웹서버 구축등이 편하며 홈페이지를 받아서 호스팅 임대업도 가능합니다. 단...