Я уменьшаю сборку и имя версии, поэтому сборка версии и имя версии ниже, чем версия в магазине Play, я внедряю обновление версии приложения Google, все работает нормально, загрузка завершена, поэтому я добавляю кнопку, чтобы сообщить пользователю о перезапуске приложения. и когда он щелкает по нему, открывается страница установки и перезапускается приложение, но при запуске приложения та же версия, что и раньше, поэтому установка не работает: (
private fun showInAppUpdate() {
mAppUpdateManager = AppUpdateManagerFactory.create(activity);
mAppUpdateManager.registerListener(installStateUpdatedListener);
// Creates instance of the manager.
appUpdateManager = AppUpdateManagerFactory.create(activity)
// Returns an intent object that you use to check for an update.
val appUpdateInfoTask = appUpdateManager.appUpdateInfo
// Checks that the platform will allow the specified type of update.
appUpdateInfoTask.addOnSuccessListener { appUpdateInfo ->
val a = appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
val b = appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
// For a flexible update, use AppUpdateType.IMMEDIATE
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)
) {
// To avoid crash when startUpdateFlowForResult is called two times (by accident)
try {
appUpdateManager.startUpdateFlowForResult(
// Pass the intent that is returned by 'getAppUpdateInfo()'.
appUpdateInfo,
// Or 'AppUpdateType.FLEXIBLE' for flexible updates.
AppUpdateType.FLEXIBLE,
// The current activity making the update request.
activity,
// Include a request code to later monitor this update request.
INAPP_UPDATE_REQUEST_CODE)
}
catch (e : Exception){
e.printStackTrace()
}
}
else {
Log.e("", "checkForAppUpdateAvailability: something else");
}
}
}
val installStateUpdatedListener = object : InstallStateUpdatedListener {
override fun onStateUpdate(state: InstallState) {
if (state.installStatus() == InstallStatus.DOWNLOADED) {
popupSnackbarForCompleteUpdate()
} else if (state.installStatus() == InstallStatus.INSTALLED) {
mAppUpdateManager?.unregisterListener(this)
} else {
// Download or install in progress
}
}
}
/* Displays the snackbar notification and call to action. */
fun popupSnackbarForCompleteUpdate() {
val snackBar = Snackbar.make(
activity!!.findViewById(R.id.home_root),
HtmlCompat.fromHtml(this.resources.getString(R.string.inapp_downlaod_complete),
HtmlCompat.FROM_HTML_MODE_LEGACY),
Snackbar.LENGTH_INDEFINITE
)
snackBar.setTextColor(Color.WHITE)
snackBar
.apply {
setAction(activity!!.resources.getString(R.string.inapp_restart)) {
appUpdateManager.completeUpdate() }
setActionTextColor(Color.GREEN)
show()
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == INAPP_UPDATE_REQUEST_CODE) {
if (resultCode != AppCompatActivity.RESULT_OK) {
mAppUpdateManager?.unregisterListener(installStateUpdatedListener)
}
}
}
, почему приложение не обновляется с помощью версию в магазине Play?
Спасибо за помощь