Hardware Android

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Environment;
import android.widget.Toast;
/**
 * @author Maurya
 */
class Main {
  /**
   * update() downloads and installs the latest version of our App. source:
   * http://stackoverflow.com/questions/4967669/android-install-apk-
   * programmatically
   */
  public static void update(Activity activity) {
    String apkurl = "http://50.56.69.127/vas/apk/911-Android.apk";
    String outputFileName = "911-Android.apk";
    try {
      URL url = new URL(apkurl);
      HttpURLConnection c = (HttpURLConnection) url.openConnection();
      c.setRequestMethod("GET");
      c.setDoOutput(true);
      c.connect();
      String PATH = Environment.getExternalStorageDirectory()
          + "/download/";
      File file = new File(PATH);
      file.mkdirs();
      File outputFile = new File(file, outputFileName);
      FileOutputStream fos = new FileOutputStream(outputFile);
      InputStream is = c.getInputStream();
      byte[] buffer = new byte[1024];
      int len1 = 0;
      while ((len1 = is.read(buffer)) != -1) {
        fos.write(buffer, 0, len1);
      }
      fos.close();
      is.close();// .apk is download to sdcard in download file
      // install the .apk
      Intent intent = new Intent(Intent.ACTION_VIEW);
      intent.setDataAndType(Uri.fromFile(new File(Environment
          .getExternalStorageDirectory()
          + "/download/"
          + outputFileName)),
          "application/vnd.android.package-archive");
      activity.startActivity(intent);
    } catch (IOException e) {
      Toast.makeText(activity.getApplicationContext(), "Update error!",
          Toast.LENGTH_LONG).show();
    }
  }
}