Как я могу использовать Android AppUpdateManager appUpdateInfoTask синхронно?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как я могу использовать Android AppUpdateManager appUpdateInfoTask синхронно?

Сообщение Anonymous »

Используя инструкции Google, я написал эту функцию, чтобы определить, доступно ли обновление приложения в магазине Play.

Код: Выделить всё

public fun isAppUpdateAvailable(): Boolean
{
var isAvailable = false
val appUpdateManager: AppUpdateManager = AppUpdateManagerFactory.create(applicationContext)
val appUpdateInfoTask: Task = appUpdateManager.appUpdateInfo

appUpdateInfoTask.addOnSuccessListener { appUpdateInfo ->
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE) {
isAvailable = true
}
}

return isAvailable
}

Я вызываю это из моего MainActivity.onCreate(), потому что вместо этого мне нужно запустить другое действие перед запуском потока обновления. Это другое действие запускает поток обновления после некоторого взаимодействия с пользователем.
Это, конечно, не работает, поскольку addOnSuccessListener выполняется асинхронно, поэтому метод isAppUpdateAvailable() всегда возвращает false. Есть ли способ реализовать это с помощью сопрограмм или чего-то еще?

Подробнее здесь: https://stackoverflow.com/questions/792 ... chronously
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»