안녕하세요

제가 원래는 제 힘으로 찾으려고 했지만... 제가 새내기 개발자라그런지.. 검색해도 잘 안나오는 방법이라 ㅠㅠ


암튼 제가 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;

}

}

}