Android установить apk с Intent.VIEW_ACTION не работает с провайдером файлов
Мое приложение имеет функцию автообновления, которая загружает APK, и когда загрузка заканчивается, Intent.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 было рекомендовано использовать A File Provider
новый код:
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 (установить); выдает ошибку
Не найдено ни одного действия для обработки намерения 0x4000000}
Можно ли как-нибудь открыть средство просмотра APK в Android 7 (24)?