Мое приложение имеет функцию автоматического обновления, которые загружают APK и когда загрузка закончена что Намерение. VIEW_ACTION, чтобы открыть приложение и позволить пользователю установить загруженный apk
Uri uri = Uri.parse("file://" + destination);
Intent install = new Intent(Intent.ACTION_VIEW);
install.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
install.setDataAndType(uri,
manager.getMimeTypeForDownloadedFile(downloadId));
activity.startActivity(install);
Это работает отлично для всего устройства <24
Теперь с Android 24, по-видимому, нам не разрешают больше запустить намерения с file:/// и после некоторого поиска с помощью Google, рекомендовалось использовать Поставщика Файла
новый код:
Intent install = new Intent(Intent.ACTION_VIEW);
install.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
install.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Uri apkUri = FileProvider.getUriForFile(AutoUpdate.this,
BuildConfig.APPLICATION_ID + ".provider", file);
install.setDataAndType(apkUri,
manager.getMimeTypeForDownloadedFile(downloadId));
activity.startActivity(install);
Теперь activity.startActivity (установка); бросает ошибку
Никакое Действие, которое, как находят, обработало Намерение {act=android.intent.action. ПРОСМОТРИТЕ dat=content://com.xxxx.xx.provider/MyFolder/Download/MyApkFile.apk typ=application/vnd.android.package-archive flg=0x4000000}
Есть ли какой-либо способ, которым я могу открыть средство просмотра APK в Android 7 (24)?