Instalar un apk descargado
Android 6.0.1 (API 23)
Intente agregar la actualización automática a mi aplicación y obtenga algo extraño:
Descargar archivo en
val fileDownloaded = File(context.filesDir, "update.apk")
Luego intenta instalar el apk con intención
val intent = Intent(Intent.ACTION_VIEW, fileUri)
intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true)
intent.setDataAndType(fileUri, "application/vnd.android.package-archive")
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or
Intent.FLAG_ACTIVITY_NEW_TASK
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
startActivity(intent)
Permisos del manifiesto
android.permission.INTERNET
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.READ_EXTERNAL_STORAGE
android.permission.REQUEST_INSTALL_PACKAGES
Tiene el error "Hubo un problema al analizar el paquete" y los mensajes logcat:
No se puede abrir '/data/user/0/com.testapp.android.demo/files/update.apk':Permiso denegado 03-11 12: 52: 18.815 3330-3330 / com.android.packageinstaller W / zipro: Error al abrir el archivo /data/user/0/com.testapp.android.demo/files/update.apk: Error de E / S 03 -11 12: 52: 18.815 3330-3330 / com.android.packageinstaller D / activo: no se pudo abrir el archivo Zip '/data/user/0/com.testapp.android.demo/files/update.apk' 03-11 12: 52: 18.815 3330-3330 / com.android.packageinstaller W / PackageInstaller: Error de análisis al analizar el manifiesto. Descontinuando la instalación
No puedo obtener los permisos que debo tener ...
En la API de Android> = 24, a través de FileProvider, todo funciona bien. El problema solo está en un dispositivo con una API inferior
¿Alguien podría darme una idea de lo que está mal y cómo solucionarlo?