안녕하세요
제가 원래는 제 힘으로 찾으려고 했지만... 제가 새내기 개발자라그런지.. 검색해도 잘 안나오는 방법이라 ㅠㅠ
암튼 제가 WebView를 만들었는데요, 이미지를 길게 누르면 저장할수 있게하는 방법을 찾아봤지만..
onLongClick을 사용해서 저장하라는데...여기에서 자세한 설명은 더이상 나오지 않더라구요..ㅠㅠㅠ
그래서 여기 회원분들의 도움을 받고자 이렇게 질문 남깁니다..
--
package com.monoteen.enha;
import android.net.Uri;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.view.KeyEvent;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
public class Enha extends Activity {
WebView mWebView;
private ValueCallback<Uri> mUploadMessage;
private final static int FILECHOOSER_RESULTCODE = 1;
@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;
}
}
@SuppressWarnings("deprecation")
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setPluginState(PluginState. ON);
mWebView.setWebChromeClient(new WebChromeClient()
{
@SuppressWarnings("unused")
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
Enha.this.startActivityForResult(
Intent.createChooser(i, "사진을 선택하세요"),
FILECHOOSER_RESULTCODE);
}
});
mWebView.loadUrl("http://m.enha.kr/wiki/FrontPage);
mWebView.setWebViewClient(new EnhaWebViewClient());
Button btnBack = (Button)findViewById(R.id.button1);
Button btnForward = (Button)findViewById(R.id.button2);
btnBack.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
if(mWebView.canGoBack()){
mWebView.goBack();
}
}
});
btnForward.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
if(mWebView.canGoForward()){
mWebView.goForward();
}
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private class EnhaWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl("url);
return true;
}
}
}