Я пытаюсь установить apk из каталога загрузок моего устройства. Мое жестко запрограммированное решение работает как шарм -
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "update.apk")), "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
но как только я поменяю его на
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "update.apk")), "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Я получаю сообщение об ошибке при разборе пакета. Что я делаю неправильно????
Я вижу слэши в первой версии. Вы уверены, что о них позаботятся во втором?
@m ты прав
Значение, возвращенное
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
/ storage / emulated / 0 / Скачать отсутствует '/' в конце. Ваш путь должен быть '/update.apk'
Использовать его нужно следующим образом:
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/update.apk")), "application/vnd.android.package-archive");
вы можете вставить свою ошибку logcat?