Я реализовал обновление в приложении в моем Android приложении с потоком обновлений FLEXIBLE. Я проверяю и запрашиваю обновление в onCreate () MainActivity
. При обновлении приложения всегда происходит сбой установки с кодом ошибки -100
, который указан в ERROR_INTERNAL_ERROR . Может кто-нибудь помочь мне решить эту проблему
val appUpdateManager = AppUpdateManagerFactory.create(this)
appUpdateManager.registerListener { state ->
if (state.installStatus() == InstallStatus.FAILED) {
Log.e("::MG::", "appUpdateManager:Status.FAILED")
Log.e("::MG::", "appUpdateManager:ErrorCode:"+state.installErrorCode())
}
if (state.installStatus() == InstallStatus.DOWNLOADED) {
//sBR(mainhell, resources.getString(R.string.exit))
val snackbar = Snackbar.make(
mainhell,
"Update has been downloaded. \nDo you want to install?",
Snackbar.LENGTH_INDEFINITE
)
.setAction("INSTALL") {
//If Downloaded Install Update
val i = Intent(applicationContext, MainActivity::class.java)
finish()
startActivity(i)
appUpdateManager.completeUpdate()
}
snackbar.setActionTextColor(Color.YELLOW)
snackbar.show()
}
}
val appUpdateInfoTask = appUpdateManager.appUpdateInfo
appUpdateInfoTask.addOnSuccessListener { appUpdateInfo ->
when {
appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE &&
appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)
-> {
appUpdateManager.startUpdateFlowForResult(
appUpdateInfo,
AppUpdateType.FLEXIBLE,
this,
FLEXIBLE_UPDATE
)
}
appUpdateInfo.installStatus() == InstallStatus.DOWNLOADED -> {
if (appUpdateManager != null) {
appUpdateManager.completeUpdate()
}
}
}
}
Logcate
E/::MG::: appUpdateManager:InstallStatus.FAILED
E/::MG::: appUpdateManager:installErrorCode:-100