monoteen

Enha.java

Jun 21st, 2014
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.34 KB | None | 0 0
  1. package com.monoteen.enha;
  2.  
  3. import android.annotation.SuppressLint;
  4. import android.app.Activity;
  5. import android.app.AlertDialog;
  6. import android.content.DialogInterface;
  7. import android.content.Intent;
  8. import android.net.Uri;
  9. import android.os.Bundle;
  10. import android.view.KeyEvent;
  11. import android.view.Menu;
  12. import android.view.MenuItem;
  13. import android.view.View;
  14. import android.view.View.OnClickListener;
  15. import android.webkit.ValueCallback;
  16. import android.webkit.WebChromeClient;
  17. import android.webkit.WebSettings.PluginState;
  18. import android.webkit.WebView;
  19. import android.webkit.WebViewClient;
  20. import android.widget.Button;
  21. import android.widget.Toast;
  22.  
  23. public class Enha extends Activity {
  24.     final int       ENHA = Menu.FIRST;
  25.     final int       RIGVEDA = Menu.FIRST+1;
  26.     final int       GOTO1995 = Menu.FIRST+2;
  27.     final int       GOTO1999 = Menu.FIRST+3;
  28.     final int       CHWISOSEON = Menu.FIRST+4;
  29.     final int       YAC = Menu.FIRST+5;
  30.     final int       INFO = Menu.FIRST+6;
  31.    
  32.     WebView mWebView;
  33.     AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create();
  34.    
  35.     private ValueCallback<Uri> mUploadMessage;
  36.      private final static int FILECHOOSER_RESULTCODE = 1;
  37.      @Override
  38.      protected  void onActivityResult(int requestCode, int resultCode,
  39.              Intent intent) {
  40.          if (requestCode == FILECHOOSER_RESULTCODE) {
  41.              if (null == mUploadMessage)
  42.                  return;
  43.              Uri result = intent == null || resultCode != RESULT_OK ? null
  44.                      : intent.getData();
  45.              mUploadMessage.onReceiveValue(result);
  46.              mUploadMessage = null;
  47.          }
  48.      }
  49.      
  50.     @SuppressWarnings("deprecation")
  51.     @SuppressLint("SetJavaScriptEnabled")
  52.    
  53.    
  54.     @Override
  55.     protected void onCreate(Bundle savedInstanceState) {
  56.         super.onCreate(savedInstanceState);
  57.         startActivity(new Intent(this, SplashActivity.class));
  58.         setContentView(R.layout.main);
  59.        
  60.         mWebView = (WebView) findViewById(R.id.webview);
  61.         mWebView.getSettings().setJavaScriptEnabled(true);
  62.         mWebView.getSettings().setBuiltInZoomControls(true);
  63.         mWebView.getSettings().setSupportZoom(true);
  64.         mWebView.getSettings().setPluginState(PluginState. ON);
  65.         mWebView.setWebChromeClient(new WebChromeClient()
  66.           {
  67.                 @SuppressWarnings("unused")
  68.                public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
  69.                      mUploadMessage = uploadMsg;
  70.                      Intent i = new Intent(Intent.ACTION_GET_CONTENT);
  71.                      i.addCategory(Intent.CATEGORY_OPENABLE);
  72.                      i.setType("*/*");
  73.                      Enha.this.startActivityForResult(
  74.                              Intent.createChooser(i, "사진을 선택하세요"),
  75.                              FILECHOOSER_RESULTCODE);
  76.                  }
  77.            });
  78.        
  79.         mWebView.loadUrl("http://m.enha.kr/wiki/FrontPage");
  80.         mWebView.setWebViewClient(new EnhaWebViewClient());
  81.        
  82.         Button btnBack = (Button)findViewById(R.id.button1);
  83.         Button btnForward = (Button)findViewById(R.id.button2);
  84.         Button mainBtn = (Button)findViewById(R.id.button3);
  85.        
  86.  
  87.         btnBack.setOnClickListener(new OnClickListener(){
  88.             public void onClick(View v) {
  89.                 if(mWebView.canGoBack()){
  90.                     mWebView.goBack();
  91.                 }
  92.             }
  93.         });
  94.        
  95.  
  96.         btnForward.setOnClickListener(new OnClickListener(){
  97.             public void onClick(View v) {
  98.                 if(mWebView.canGoForward()){
  99.                     mWebView.goForward();
  100.                 }
  101.             }
  102.         });
  103.        
  104.         mainBtn.setOnClickListener(new OnClickListener(){
  105.             public void onClick(View v) {
  106.                 if(mWebView.canGoBack()){
  107.                 mWebView.loadUrl("http://m.enha.kr/wiki/FrontPage");
  108.                 mWebView.setWebViewClient(new EnhaWebViewClient());
  109.                 }
  110.             }
  111.         });
  112.  
  113.  
  114.     }
  115.  
  116.    
  117.     @Override
  118.     public boolean onKeyDown(int keyCode, KeyEvent event) {
  119.         if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
  120.             mWebView.goBack();
  121.             return true;
  122.         }
  123.         return super.onKeyDown(keyCode, event);
  124.     }
  125.    
  126.     public boolean onCreateOptionsMenu (Menu menu) {
  127.         menu.add(0, ENHA, 0, "엔하위키 홈");
  128.         menu.add(0, RIGVEDA, 0, "리그베다위키 홈");
  129.         menu.add(0, GOTO1995, 0, "1995년으로 가기");
  130.         menu.add(0, GOTO1999, 0, "1999년으로 가기");
  131.         menu.add(0, CHWISOSEON, 0, "두유노우 취소선?");
  132.         menu.add(0, YAC, 0, "올ㅋ");
  133.         menu.add(0, INFO, 0, "제작자");
  134.         return super.onCreateOptionsMenu(menu);
  135.     }
  136.    
  137.     public boolean onMenuItemSelected(int featureId, MenuItem item) {
  138.         switch (item.getItemId()) {
  139.         case ENHA:
  140.             mWebView.loadUrl("http://m.enha.kr/wiki/FrontPage");
  141.             mWebView.setWebViewClient(new EnhaWebViewClient());
  142.             return true;
  143.         case RIGVEDA:
  144.             mWebView.loadUrl("http://rigvedawiki.net/r1/wiki.php");
  145.             mWebView.setWebViewClient(new EnhaWebViewClient());
  146.             return true;
  147.         case GOTO1995:
  148.             mWebView.loadUrl("http://1995.enha.kr/");
  149.             mWebView.setWebViewClient(new EnhaWebViewClient());
  150.             return true;
  151.         case GOTO1999:
  152.             mWebView.loadUrl("http://1999.enha.kr/");
  153.             mWebView.setWebViewClient(new EnhaWebViewClient());
  154.             return true;
  155.         case CHWISOSEON:
  156.             mWebView.loadUrl("http://mirror.enha.kr/chwisoseon");
  157.             mWebView.setWebViewClient(new EnhaWebViewClient());
  158.             return true;
  159.         case YAC:
  160.             Toast.makeText(this, "다들 그렇게 위키니트가 되는거야", Toast.LENGTH_SHORT).show();
  161.             return true;
  162.         case INFO:
  163.             alertDialog.setTitle("제작자");
  164.             alertDialog.setMessage("로이히텐 (blog.naver.com/leuchten2551) / (청강문화산업대학교 14학번)");
  165.             alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "OK", new DialogInterface.OnClickListener(){
  166.                 public void onClick(DialogInterface dialog, int which) {
  167.                     return;
  168.                 }
  169.             });
  170.             alertDialog.setIcon(R.drawable.ic_launcher);
  171.             alertDialog.show();
  172.         }
  173.         return super.onMenuItemSelected(featureId, item);
  174.     }
  175.        
  176.     private class EnhaWebViewClient extends WebViewClient {
  177.     @Override
  178.     public boolean shouldOverrideUrlLoading(WebView view, String url) {
  179.         view.loadUrl(url);
  180.         return true;
  181.         }
  182.     }
  183.    
  184.    
  185.    
  186.     /*
  187.     @Override
  188.     protected void onCreateContextMenu(ContextMenu menu) {
  189.         super.onCreateContextMenu(menu, mWebView, null);
  190.  
  191.         HitTestResult result = getHitTestResult();
  192.  
  193.         MenuItem.OnMenuItemClickListener handler = new MenuItem.OnMenuItemClickListener() {
  194.             public boolean onMenuItemClick(MenuItem item) {
  195.                     // do the menu action
  196.                     return true;
  197.             }
  198.         };
  199.  
  200.         if (result.getType() == HitTestResult.IMAGE_TYPE ||
  201.                 result.getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {
  202.             // Menu options for an image.
  203.             //set the header title to the image url
  204.             menu.setHeaderTitle(result.getExtra());
  205.             menu.add(0, ID_SAVEIMAGE, 0, "Save Image").setOnMenuItemClickListener(handler);
  206.             menu.add(0, ID_VIEWIMAGE, 0, "View Image").setOnMenuItemClickListener(handler);
  207.         } else if (result.getType() == HitTestResult.ANCHOR_TYPE ||
  208.                 result.getType() == HitTestResult.SRC_ANCHOR_TYPE) {
  209.             // Menu options for a hyperlink.
  210.             //set the header title to the link url
  211.             menu.setHeaderTitle(result.getExtra());
  212.             menu.add(0, ID_SAVELINK, 0, "Save Link").setOnMenuItemClickListener(handler);
  213.             menu.add(0, ID_SHARELINK, 0, "Share Link").setOnMenuItemClickListener(handler);
  214.         }
  215.        
  216.     }
  217.     */
  218. }
Advertisement
Add Comment
Please, Sign In to add comment