Можно ли программно запускать обновления приложений Android без взаимодействия с пользователем с помощью основной библио ⇐ Android
Можно ли программно запускать обновления приложений Android без взаимодействия с пользователем с помощью основной библио
В настоящее время я работаю над приложением для Android и изучаю возможность обновления приложения без явного взаимодействия с пользователем. Я просмотрел основную библиотеку Google Play на наличие обновлений внутри приложения, но, похоже, там есть подсказки для пользователей как для гибких, так и для немедленных типов обновлений.
Есть ли способ получать обновления автоматически или без взаимодействия с пользователем? Мой вариант использования включает сценарии, в которых я хочу обеспечить плавное применение обновлений в фоновом режиме, не прерывая работу пользователя.
Я буду признателен за любые идеи, предложения или альтернативные подходы к программному обновлению приложений без явного участия пользователя.
Вот упрощенная версия моего текущего кода:
private void checkForAppUpdate() { AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(this); InstallStateUpdatedListener installStateUpdatedListener = состояние -> { if (state.installStatus() == InstallStatus.DOWNLOADED) { appUpdateManager.completeUpdate(); перезапустить приложение(); } }; appUpdateManager.registerListener(installStateUpdatedListener); Task appUpdateInfoTask = appUpdateManager.getAppUpdateInfo(); appUpdateInfoTask.addOnCompleteListener(задача -> { если (task.isSuccessful()) { AppUpdateInfo appUpdateInfo = Task.getResult(); if (appUpdateInfo != null && appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE) { startUpdateFlow (appUpdateInfo, appUpdateManager); } } еще { Исключение исключения = Task.getException(); если (исключение!= ноль) { Log.e(TAG, «Не удалось получить AppUpdateInfo: » +Exception.getMessage()); } } }); } Private void startUpdateFlow (AppUpdateInfo appUpdateInfo, AppUpdateManager appUpdateManager) { пытаться { appUpdateManager.startUpdateFlowForResult( приложениеОбновлениеИнформация, AppUpdateType.IMMEDIATE, этот, MY_UPDATE_REQUEST_CODE); } catch (Исключение е) { выдать новое RuntimeException(e); } } Есть ли способ изменить этот код или реализовать другой подход для обеспечения автоматического или беспользовательского обновления?
В настоящее время я работаю над приложением для Android и изучаю возможность обновления приложения без явного взаимодействия с пользователем. Я просмотрел основную библиотеку Google Play на наличие обновлений внутри приложения, но, похоже, там есть подсказки для пользователей как для гибких, так и для немедленных типов обновлений.
Есть ли способ получать обновления автоматически или без взаимодействия с пользователем? Мой вариант использования включает сценарии, в которых я хочу обеспечить плавное применение обновлений в фоновом режиме, не прерывая работу пользователя.
Я буду признателен за любые идеи, предложения или альтернативные подходы к программному обновлению приложений без явного участия пользователя.
Вот упрощенная версия моего текущего кода:
private void checkForAppUpdate() { AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(this); InstallStateUpdatedListener installStateUpdatedListener = состояние -> { if (state.installStatus() == InstallStatus.DOWNLOADED) { appUpdateManager.completeUpdate(); перезапустить приложение(); } }; appUpdateManager.registerListener(installStateUpdatedListener); Task appUpdateInfoTask = appUpdateManager.getAppUpdateInfo(); appUpdateInfoTask.addOnCompleteListener(задача -> { если (task.isSuccessful()) { AppUpdateInfo appUpdateInfo = Task.getResult(); if (appUpdateInfo != null && appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE) { startUpdateFlow (appUpdateInfo, appUpdateManager); } } еще { Исключение исключения = Task.getException(); если (исключение!= ноль) { Log.e(TAG, «Не удалось получить AppUpdateInfo: » +Exception.getMessage()); } } }); } Private void startUpdateFlow (AppUpdateInfo appUpdateInfo, AppUpdateManager appUpdateManager) { пытаться { appUpdateManager.startUpdateFlowForResult( приложениеОбновлениеИнформация, AppUpdateType.IMMEDIATE, этот, MY_UPDATE_REQUEST_CODE); } catch (Исключение е) { выдать новое RuntimeException(e); } } Есть ли способ изменить этот код или реализовать другой подход для обеспечения автоматического или беспользовательского обновления?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение