I have recently published an app in play store using android studio and firebase, when I tried to update I am encountering a strange problem. My phone is POCO M2 Pro ( MIUI Global 12.5.3 , android 11 ) and my wife's phone is Samsung galaxy A50 (android 11).
In my phone I was able to download the update correctly from play store and it worked fine, but in wife's app update is not coming. I had used below code for in app update
mAppUpdateManger= AppUpdateManagerFactory.create(this); // for inAppUpdate
mAppUpdateManger.getAppUpdateInfo().addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() {
@Override
public void onSuccess(AppUpdateInfo result ) {
if(result.updateAvailability()== UpdateAvailability.UPDATE_AVAILABLE
&& result.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)){
try {
mAppUpdateManger.startUpdateFlowForResult(result,AppUpdateType.IMMEDIATE
,SellerHomeActivity.this,
UPDATE_CODE
);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
Toast.makeText(SellerHomeActivity.this, e+"" , Toast.LENGTH_SHORT).show();
}
}
}
});
// for inAppUpdate
private InstallStateUpdatedListener installStateUpdatedListener =new InstallStateUpdatedListener() {
@Override
public void onStateUpdate(@NonNull InstallState state) {
if(state.installStatus()== InstallStatus.DOWNLOADED){
popUp();
}
}
};
private void popUp() {
Snackbar snackbar= Snackbar.make(
findViewById(android.R.id.content),
"App update almost done",
Snackbar.LENGTH_INDEFINITE
);
snackbar.setAction("Reload", new View.OnClickListener() {
@Override
public void onClick(View view) {
mAppUpdateManger.completeUpdate();
}
});
snackbar.show();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode==UPDATE_CODE && requestCode != RESULT_OK) {
this.finishAffinity();
Toast.makeText(this, " Please relaunch and update D.Storms ", Toast.LENGTH_SHORT).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onResume() {
super.onResume();
mAppUpdateManger.getAppUpdateInfo().addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() {
@Override
public void onSuccess(AppUpdateInfo result ) {
if(result.updateAvailability()== UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS){
try {
mAppUpdateManger.startUpdateFlowForResult(result,AppUpdateType.IMMEDIATE
,SellerHomeActivity.this,
UPDATE_CODE
);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
Toast.makeText(SellerHomeActivity.this, e+"" , Toast.LENGTH_SHORT).show();
}
}
}
});
}