참고로 파일선택버튼은 input type = "file"
========================================================================================================================================
위의 이슈에 대해서 해결팁을 정리하면 함수의 차이입니다. OS버젼에 따라 파라미터가 다른 오버로딩이 된 함수를 맞추어서
사용하시면 됩니다.(이걸 찾는데 애먹었습니다. ㅠ)
//웹뷰에서의 파일 업로드 처리
mWeb.setWebChromeClient(new WebChromeClient()
{
//public void openFileChooser(ValueCallback<Uri> uploadMsg) // For Android < 3.0
public void openFileChooser( ValueCallback<Uri> uploadMsg, String acceptType ) // For Android 3.0+ (허니콤)
{
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
//i.setType("image/*");
MyWebView.this.startActivityForResult(
Intent.createChooser(i, "File Browser"),
FILECHOOSER_RESULTCODE);
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==FILECHOOSER_RESULTCODE)
{
Toast.makeText(this,"FILECHOOSER_RESULTCODE 진입", Toast.LENGTH_SHORT).show();
if (null == mUploadMessage) return;
Uri result = data == null || resultCode != RESULT_OK ? null : data.getData();
mUploadMessage.onReceiveValue(result);
mUploadMessage = null;
}
}
'안드로이드 개발 > 허니콤(3.0)' 카테고리의 다른 글
허니콤(3.x) 이상에서 프로그램 종료하기 (0) | 2012.04.04 |
---|---|
안드로이드 타이틀바 제거 3.x 이상에서 테스트 (0) | 2012.04.03 |
허니콤(3.x) 이상 버젼에서 http통신할때 (꼭 스레드와 핸들러를 사용해야합니다.) 예제포함 (0) | 2012.04.03 |
허니콤(3.x) 이상 버젼에서 StrictMode$AndroidBlockGuardPolicy.onNetwork... 에러가 발생할때 (5) | 2012.04.02 |