Advertisement
binhaus

need help here to download the apk and form install affter

Jun 20th, 2012
927
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.45 KB | None | 0 0
  1. package com.xaluan2;
  2.  
  3. import android.app.Activity;
  4. import android.app.AlertDialog;
  5. import android.content.Context;
  6. import android.content.DialogInterface;
  7. import android.content.SharedPreferences;
  8. import android.content.DialogInterface.OnClickListener;
  9. import android.content.Intent.ShortcutIconResource;
  10. import android.content.Intent;
  11. import android.net.ConnectivityManager;
  12. import android.net.NetworkInfo;
  13. import android.net.Uri;
  14. import android.os.Bundle;
  15. import android.preference.PreferenceManager;
  16. import android.util.Log;
  17. import android.view.KeyEvent;
  18. import android.view.Menu;
  19. import android.view.MenuItem;
  20. import android.view.Window;
  21. import android.webkit.WebChromeClient;
  22. import android.webkit.WebSettings;
  23. import android.webkit.WebView;
  24. import android.webkit.WebViewClient;
  25. import android.widget.ProgressBar;
  26.  
  27. public class XaLuanActivity extends Activity{  
  28.     private static final String tag=XaLuanActivity.class.getCanonicalName();
  29.     private static final int CHIASE_MENU=1;
  30.     private static final int THOAT_MENU=2;
  31.     private static final int TAILAI_MENU=3;
  32.     private static final int TROGIUP_MENU=4;
  33.     private static final int DANHGIA_MENU=5;
  34.    
  35.     private String mainUrl="http://www.xaluan.com/mobi.php";
  36.     ProgressBar mProgressBar;
  37.     WebView wbvContent;
  38.     @SuppressWarnings("deprecation")
  39.     @Override
  40.     public void onCreate(Bundle savedInstanceState) {
  41.         super.onCreate(savedInstanceState);
  42.         this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  43.         setContentView(R.layout.xaluan);
  44.         wbvContent=(WebView) findViewById(R.id.wbvContent);    
  45.         mProgressBar=(ProgressBar)findViewById(R.id.progressBar);            
  46.         wbvContent.getSettings().setJavaScriptEnabled(true);
  47.        
  48.         //wbvContent.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
  49.         //wbvContent.getSettings().setSupportMultipleWindows(true);
  50.  
  51.         wbvContent.getSettings().setPluginsEnabled(true);
  52.         wbvContent.getSettings().setPluginState(WebSettings.PluginState.ON);
  53.         wbvContent.setInitialScale(1);
  54.         wbvContent.getSettings().setLoadWithOverviewMode(true);
  55.         wbvContent.getSettings().setUseWideViewPort(true);
  56.         wbvContent.getSettings().setSupportZoom(true);
  57.         wbvContent.getSettings().setBuiltInZoomControls(true);
  58.         //wbvContent.getSettings().setDefaultZoom(ZoomDensity.FAR);
  59.  
  60.         HelloWebViewClient wbvClient=new HelloWebViewClient();
  61.         wbvContent.setWebViewClient(wbvClient);
  62.        
  63.         if(!isConnectedNetwork(this)) {
  64.             new AlertDialog.Builder(this)
  65.             .setIcon(android.R.drawable.ic_dialog_alert)
  66.             .setTitle("Thông báo")
  67.             .setMessage("Không có kết nối mạng, vui lòng kết nối mạng để sử dụng")
  68.             .setPositiveButton("Thử lại", new DialogInterface.OnClickListener() {
  69.                 @Override
  70.                 public void onClick(DialogInterface dialog, int which) {
  71.                     XaLuanActivity.this.finish();
  72.                     startActivity(new Intent(XaLuanActivity.this, XaLuanActivity.class));
  73.                 }
  74.             })
  75.             .setNegativeButton("Thoát", new OnClickListener() {               
  76.                 @Override
  77.                 public void onClick(DialogInterface dialog, int which) {
  78.                     XaLuanActivity.this.finish();
  79.                 }
  80.             })
  81.             .show();
  82.         }else {        
  83.              wbvContent.loadUrl(mainUrl);
  84.              wbvContent.setWebChromeClient(new WebChromeClient() {
  85.                
  86.                  public void onProgressChanged(WebView view, int progress)  {
  87.                     if(progress < 100 && mProgressBar.getVisibility() == ProgressBar.GONE){
  88.                        mProgressBar.setVisibility(ProgressBar.VISIBLE);
  89.                     }
  90.                     mProgressBar.setProgress(progress);
  91.                     if(progress == 100) {
  92.                        mProgressBar.setVisibility(ProgressBar.GONE);
  93.                     }
  94.                  }
  95.              });
  96.         }  
  97.    
  98.     }
  99.    
  100.     private static class HelloWebViewClient extends WebViewClient {
  101.         @Override
  102.         public boolean shouldOverrideUrlLoading(WebView view, String url) {
  103.             if (url != null && url.startsWith("market://")) {
  104.                 view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
  105.                 //return true;
  106.             }
  107.             else if(url.endsWith(".apk"))
  108.             {
  109.                 view.getContext().startActivity(new Intent(Intent.ACTION_VIEW ,Uri.parse(url)));
  110. //need help here to download the apk and form install affter downloaded
  111.             }            
  112.             else {
  113.                 view.loadUrl(url);
  114.                 //return false;
  115.             }
  116.             return true;
  117.         }
  118.        
  119.     }
  120.    
  121.  
  122.    
  123.     @Override
  124.     public boolean onCreateOptionsMenu(Menu menu) {
  125.         menu.add(0, CHIASE_MENU, 0, "Chia Sẻ").setIcon(R.drawable.share);    
  126.         menu.add(0, TAILAI_MENU, 0, "Tải Lại").setIcon(R.drawable.refresh);
  127.         menu.add(0, DANHGIA_MENU, 0, "Đánh Giá").setIcon(R.drawable.rate);
  128.         menu.add(0, TROGIUP_MENU, 0, "Trợ Giúp").setIcon(R.drawable.about);     
  129.         menu.add(0, THOAT_MENU, 0, "Thoát").setIcon(R.drawable.exit);
  130.         return super.onCreateOptionsMenu(menu);
  131.     }
  132.     @Override
  133.     public boolean onOptionsItemSelected(MenuItem item) {
  134.         switch (item.getItemId()) {
  135.         case CHIASE_MENU: // chia se
  136.             Intent sharingIntent = new Intent(Intent.ACTION_SEND);
  137.             sharingIntent.setType("text/plain");
  138.             sharingIntent.putExtra(Intent.EXTRA_SUBJECT, wbvContent.getTitle());
  139.             sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, wbvContent.getUrl());                    
  140.             startActivity(Intent.createChooser(sharingIntent,"Chia sẻ"));
  141.             break;
  142.         case THOAT_MENU: // chia se
  143.             System.exit(0);
  144.             break;
  145.         case TAILAI_MENU: // chia se   
  146.             wbvContent.reload();
  147.             break;
  148.         case TROGIUP_MENU: // chia se
  149.             Intent intent1=new Intent(this, About.class);
  150.             startActivity(intent1);
  151.             break;
  152.         case DANHGIA_MENU:
  153.             String url="market://details?id="+getApplicationContext().getPackageName();
  154.             Intent intent2 = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
  155.             startActivity(intent2);
  156.             break;
  157.         default:
  158.             break;
  159.         }
  160.         return super.onOptionsItemSelected(item);
  161.     }  
  162.     @Override
  163.     public boolean onKeyDown(int keyCode, KeyEvent event) {
  164.         if (keyCode == KeyEvent.KEYCODE_BACK) {
  165.             if(wbvContent.canGoBack()) {
  166.                 wbvContent.goBack();
  167.                 return false;
  168.             }else {
  169.                 new AlertDialog.Builder(this)
  170.                 .setIcon(android.R.drawable.ic_dialog_alert)
  171.                 .setTitle("Thoát")
  172.                 .setMessage("Bạn có muốn thoát khỏi ứng dụng không")
  173.                 .setPositiveButton("Có", new DialogInterface.OnClickListener() {
  174.                     @Override
  175.                     public void onClick(DialogInterface dialog, int which) {
  176.                         XaLuanActivity.this.finish();
  177.                     }
  178.                 })
  179.                 .setNegativeButton("Không", null)
  180.                 .show();
  181.             }
  182.         }
  183.         return super.onKeyDown(keyCode, event);
  184.     }
  185.     public static boolean isConnectedNetwork(Context context) {
  186.         ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  187.         NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
  188.         return activeNetworkInfo != null;
  189.     }
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement