У меня есть какое-то приложение в версии 2.1, и я хочу сделать автоматическое обновление c В google do c есть учебник, но я не могу заставить его работать, есть код
try {
com.google.android.play.core.appupdate.AppUpdateManager appUpdateManager =
AppUpdateManagerFactory.create(ctx);
com.google.android.play.core.tasks.Task<AppUpdateInfo> appUpdateInfoTask =
appUpdateManager.getAppUpdateInfo();
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
Log.e(TAG, "Update avalible ");
}
});
appUpdateManager
.getAppUpdateInfo()
.addOnSuccessListener(
new OnSuccessListener<AppUpdateInfo>() {
@Override
public void onSuccess(AppUpdateInfo appUpdateInfo) {
if (appUpdateInfo.updateAvailability() ==
UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {
try {
appUpdateManager.startUpdateFlowForResult(appUpdateInfo, AppUpdateType.IMMEDIATE,
MainActivity.this, MY_REQUEST_CODE);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
Log.e(TAG, "onFailure: onResume " + e.getMessage());
}
});
} catch (Exception e) {
Log.i("Exception", "Exception:" + e);
}
с эмулятором получаю AppUpdateService: не удалось привязаться к сервису
, и когда я делаю с реальным устройством, получаю
com.google.android.play.core.tasks.RuntimeExecutionException: com.google.android.play.core.install.InstallException: Install Error: -3
, в учебнике Google есть замечание, что приложение должно у меня такое же имя пакета и подпись, поэтому я загрузил не обновленную версию в playstore, с приведенным ниже кодом, затем, после того как я установил его на реальном устройстве, я загрузил обновленную версию, но ничего, когда я запустил старую