El apk de instalación de Android con Intent.VIEW_ACTION no funciona con el proveedor de archivos
Mi aplicación tiene una función de actualización automática que descarga un APK y cuando finaliza la descarga, Intent.VIEW_ACTION para abrir la aplicación y permitir que el usuario instale el apk descargado
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);
Esto funciona muy bien para todos los dispositivos <24
Ahora, con Android 24, aparentemente ya no se nos permite iniciar intentos con el archivo: /// y después de buscar en Google se recomienda utilizar un proveedor de archivos
nuevo código:
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);
Ahora activity.startActivity (instalar); arroja un error
No se encontró actividad para manejar la intención {act = android.intent.action.VIEW dat = content: //com.xxxx.xx.provider/MyFolder/Download/MyApkFile.apk typ = application / vnd.android.package-archive flg = 0x4000000}
¿Hay alguna forma de abrir el visor de APK en Android 7 (24)?