모바일웹을 안드로이드 webview에서 불러서 모바일앱을 만들고 있습니다.
파일올리기 페이지가 있는곳으로 돌아옵니다.
파일업로드를 가 되질 않습니다 도와주세요(모바일웹에서는 정상적으로 동작됩니다. xe 게시판사용중)
안드로이드 2.2 버전 사용중입니다.
증상입니다.
package com.corea.mym;
public class MainActivity extends Activity {
//webview 생성
private WebView myView;
private Activity activity;
//파일업로드부분
private static int FILECHOOSER_RESULTCODE = 1;
private ValueCallback<Uri> uploadMessage;
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == FILECHOOSER_RESULTCODE) {
Uri result = data == null || resultCode != RESULT_OK ? null : data.getData();
uploadMessage.onReceiveValue(result);
uploadMessage = null;
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView 보다 윗줄에 있어야 함
getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.activity_main);
//id식별
myView = (WebView)findViewById(R.id.webView1);
//플러그인
myView.getSettings().setPluginsEnabled(true);
//줌과 자바스크립트
myView.getSettings().setJavascriptEnabled(true);
myView.getSettings().setBuiltInZoomControls(true);
final Activity activity = this;
//web 브라우져 이벤트 구현 클래스
myView.setWebChromeClient(new WebChromeClient() {
//프로그래스바
public void onProgressChanged(WebView view, int progress) {
activity.setProgress(progress * 100);
}
//업로드할 파일을 선택
//버전<3.0
public void openFileChooser(ValueCallback<Uri> uploadFile, String acceptType) {
openFileChooser(uploadFile);
}
public void openFileChooser(ValueCallback<Uri> uploadMsg) {
uploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
startActivityForResult(Intent.createChooser(i, "File Chooser"), FILECHOOSER_RESULTCODE);
}
});
//버튼 id 식별
Button btnBack = (Button)findViewById(R.id.button1);
Button btnHome = (Button)findViewById(R.id.button2);
Button btnForward = (Button)findViewById(R.id.button3);
//back 버튼
btnBack.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
if(myView.canGoBack()){
myView.goBack();
}
}
});
//Forward버튼
btnForward.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
if(myView.canGoForward()){
myView.goForward();
}
}
});
//홈버튼
btnHome.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
myView.loadUrl("
사용하는 모바일웹주소");
}
});
//url
myView.loadUrl("
사용하는 모바일 웹주소");
myView.setWebViewClient(new MyView());
}
//어플실행중 back키로 인한 홈으로돌아가는것 방지
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if((keyCode == KeyEvent.KEYCODE_BACK)&& myView.canGoBack()){
myView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
//webView가 URL 처리
class MyView extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return true;
}
}
}
<load target="js/ajaxfileupload.js" type="body" />
<!--// 이미지 업로드 -->
<div cond="!$document_srl" id="mUpload">
<div class="bg_f_f9 clear">
<strong class="fl">{$lang->uploaded_file}</strong> <button type="button" class="btn fr" onclick="jQuery('#Filedata').click()">{$lang->upload_file}</button>
<form name="form" action="" method="POST" enctype="multipart/form-data" class="blind">
<input id="Filedata" type="file" name="Filedata" onchange="ajaxFileUpload()" />
</form>
</div>
finish() 업로드 뒤에 사용하라는 답을 들어서 시도해봤는데 되지 않아서 질문을 올리게 되었씁니다.
finish()이것을 사용하는것이 맞나요?액티비티는 하나인데 사용하면 종료되버리는현상이 나와서..
제가 이해를 잘 못해서 그런거 같기도 해서 아시는분은 부탁드립니다 .