Прежде всего, я сделал это с помощью Android загружает проблемы с двоичными файлами и Установить приложение программно на Android. Спасибо, ребята!
Я хочу сделать автоматическое обновление и автоматически установить сразу. Это локально, так что это нерыночное приложение.
Вот мой код для него:
public void Update(String apkurl){
    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, "app.apk");
        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();//till here, it works fine - .apk is download to my sdcard in download file
        Intent promptInstall = new Intent(Intent.ACTION_VIEW)
            .setData(Uri.parse(PATH+"app.apk"))
            .setType("application/android.com.app");
        startActivity(promptInstall);//installation is not working
    } catch (IOException e) {
        Toast.makeText(getApplicationContext(), "Update error!", Toast.LENGTH_LONG).show();
    }
}  
Мои разрешения: INTERNET, WRITE_EXTERNAL_STORAGE, INSTALL_PACKAGES и DELETE_PACKAGES.
Когда Intent promptInstall загружается, приложение вылетает =/
Итак, я пропускаю разрешения или неправильно код, или есть лучший способ сделать это?
