WebChromeClient.FileChooserParams.parseResult(resultCode, data)

조회수 1411회

WebChromeClient.FileChooserParams.parseResult(resultCode, data)

여기서 FileChooserParams 는 정확히 어떤 역활을 하는 메소드인지 모르겠습니다 ㅠㅠ

그리고 parseResult 결과값을 받아오는거 같은데 ..

맴버변수 (resultCode, data) 이거는 어떤 값을 받아오고 어떤 것들이 들어가야 되는건지

모르겠어요 제발 쉽게 설명좀 부탁 드립니다 ㅠㅠㅠㅠ

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • WebChromeClient.FileChooserParams 클래스는 파일 업로드와 관련된 함수입니다. 이 클래스는 안드로이드 5.0부터 사용 가능하며 파일 피커를 띄울 때 사용할 옵션(예, 파일을 하나만 선택할지 다중 선택할지 등)을 전달하거나 파일 선택이 일어난 후 후처리를 합니다.

    위 클래스의 createIntent()를 사용해서 파일 피커를 띄울 경우, onActivityResult()의 결과 값을 parseResult()로 넘겨줘야 합니다. 질문의 내용인 parseReult()가 하는 역할은 onActivityResult()의 두번째, 세번째 파리미터인 int resultCode, Intent data를 입력받아서 파일 Uri를 배열로 리턴하는 처리를 합니다.

    즉, 파일 피커에서 선택된 파일을 Uri로 변환한다고 이해하면 무리가 없을 것 같습니다.

    안드로이드 5.0 미만에서는 FileChooserParams가 하는 처리를 개발자기 직접해야 했습니다. 5.0부터는 FileChooserParams를 사용하면 간단하게 처리가 가능합니다. 물론 FileChooserParams를 사용하지 않고 직접 처리해도 됩니다.

    FileChooserParams가 동작하는 전체적인 흐름은 공식 문서를 참고하세요.

    How to use:

    1. Build an intent using createIntent()
    2. Fire the intent using startActivityForResult(Intent, int).
    3. Check for ActivityNotFoundException and take a user friendly action if thrown.
    4. Listen the result using onActivityResult(int, int, Intent)
    5. Parse the result using parseResult(int, Intent) only if media capture was not requested.
    6. Send the result using filePathCallback of onShowFileChooser(WebView, ValueCallback, WebChromeClient.FileChooserParams)
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)