Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

234
Vistas
Android PlayStore 'InAppUpdate' forza absolutamente la actualización (debe actualizarse inmediatamente sin opción de cancelar nada)

Tengo el siguiente código que he implementado con éxito en el código InAPPUpdate, que funciona bien según la siguiente captura de pantalla. Sin embargo, en esta implementación, el usuario aún puede cancelar InAppUpdate usando el botón de cierre (X) y también mientras descarga la actualización de la aplicación, el usuario aún puede cancelar la actualización.

Mi pregunta: ¿hay alguna manera de obligar ABSOLUTAMENTE al usuario final a actualizar la aplicación? A menos que actualicen, debo evitar que usen la aplicación.

NB: (Por favor, no pregunte por qué necesitamos forzar, no es la pregunta para la discusión)

ingrese la descripción de la imagen aquí

 public class MainActivity extends BaseActivity implements TabLayout.OnTabSelectedListener, MainView { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //check for updates validateAppUpdate(); } //in app updates private void validateAppUpdate() { // Creates instance of the manager. appUpdateManager = AppUpdateManagerFactory.create(getBaseContext()); // Returns an intent object that you use to check for an update. Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo(); // Checks that the platform will allow the specified type of update. appUpdateInfoTask.addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() { @Override public void onSuccess(AppUpdateInfo appUpdateInfo) { Log.e("AVAILABLE_VERSION_CODE", appUpdateInfo.availableVersionCode()+""); Log.e("AVAILABLE_VERSION_CODE_2", appUpdateInfo.updateAvailability()+""); //Log.e("html", "Error loading html/index.html", e); if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE // For a flexible update, use AppUpdateType.FLEXIBLE && appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) { // Request the update. try { appUpdateManager.startUpdateFlowForResult( // Pass the intent that is returned by 'getAppUpdateInfo()'. appUpdateInfo, // Or 'AppUpdateType.FLEXIBLE' for flexible updates. AppUpdateType.IMMEDIATE, // The current activity making the update request. MainActivity.this, // Include a request code to later monitor this update request. UPDATE_REQUEST_CODE); } catch (IntentSender.SendIntentException ignored) { } }else{ System.out.println("No Update Available."); } } }); appUpdateManager.registerListener(installStateUpdatedListener); } //lambda operation used for below listener InstallStateUpdatedListener installStateUpdatedListener = installState -> { if (installState.installStatus() == InstallStatus.DOWNLOADED) { popupSnackbarForCompleteUpdate(); } }; private void popupSnackbarForCompleteUpdate() { Snackbar snackbar = Snackbar.make( findViewById(android.R.id.content), "Update almost finished!", Snackbar.LENGTH_INDEFINITE); //lambda operation used for below action snackbar.setAction(this.getString(R.string.APP_NAME), view -> appUpdateManager.completeUpdate()); snackbar.setActionTextColor(getResources().getColor(R.color.browner)); snackbar.show(); }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Debe anular onActivityResult() en su clase que extiende la actividad de esta manera:

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode != RESULT_OK) { validateAppUpdate(); } }

esto ejecutará validateAppUpdate() hasta que se actualice la aplicación.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda