안녕하세요 ~ ^^
어느 동네의 하수 개발자입니다......
다름이 아니오라 현재
Webview로 파일첨부(이미지만 업로드)를 사용하고 있었습니다.
허나.. 젤리빈으로 업그레이드를 하니.. webview에서 파일첨부 버튼이 눌리지 않아
구글링을 통하여 // For Android 4.1+ 및의 부분의 소스를 추가하였더니 버튼이 클릭이 되긴하나
이미지 선택시 해당 페이지지를 호출하지 않고 메인페이지로가는데 어디부분을 수정해야 할까요..
웹쪽에서는 input type ="file"로 사용하고 있습니다.
ProgressBar mProgressHorizontal = (ProgressBar) findViewById(R.id.progress_horizontal);
wv.setWebViewClient(new WvClient(this,mProgressHorizontal));
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setDefaultFontSize(16);
wv.getSettings().setUseWideViewPort(true);
wv.getSettings().setLoadWithOverviewMode(true);
wv.getSettings().setPluginsEnabled(true);
wv.setWebChromeClient(new WvChromeClient(this,mProgressHorizontal){
// For Android < 3.0
public void openFileChooser( ValueCallback<Uri> uploadFile ){
openFileChooser( uploadFile, "" );
}
// For Android 3.0+
public void openFileChooser( ValueCallback<Uri> uploadFile, String acceptType ){
_uploadMessage = uploadFile;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
startActivityForResult( Intent.createChooser( i, "File Chooser" ), FILECHOOSER_RESULTCODE );
}
// For Android 4.1+
public void openFileChooser(ValueCallback<Uri> uploadFile, String acceptType, String capture) {
openFileChooser( uploadFile, "" );
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == FILECHOOSER_RESULTCODE) {
if (null == mUploadMessage)
return;
Uri result = intent == null || resultCode != RESULT_OK ? null
: intent.getData();
mUploadMessage.onReceiveValue(result);
mUploadMessage = null;
}
}