Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

229
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!