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

320
Vistas
Las solicitudes de permiso provocan un bucle infinito en OnResume

En API >= 23, estamos obligados a pedir permiso a los usuarios en tiempo de ejecución. Pero por alguna razón, los permisos hacen que onResume se llame infinitamente. ¿Qué causa esto?

 @Override protected void onResume() { super.onResume(); ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ANYPERMISSION},1); } @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Cuando muestra el cuadro de diálogo de la pregunta de permiso, Acitvity va a onPause , y cuando el cuadro de diálogo se oculta, va a onResume . Tienes que cambiar el lugar de pedir permiso.

over 4 years ago · Santiago Trujillo Denunciar

0

Un pequeño fragmento de código para obtener permisos para completar la respuesta anterior :)

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Build.VERSION.SDK_INT >= 23) ensurePermissions( Manifest.permission.GET_ACCOUNTS, Manifest.permission.WRITE_EXTERNAL_STORAGE ); }

y:

 @TargetApi(23) private void ensurePermissions(String... permissions) { boolean request = false; for (String permission : permissions) if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { request = true; break; } if (request) { requestPermissions(permissions, REQUEST_CODE_PERMISSION); } }
over 4 years ago · Santiago Trujillo Denunciar

0

primero, su aplicación debe verificar si se le ha otorgado un permiso en particular antes de solicitar el permiso de tiempo de ejecución.

 if (ContextCompat.checkSelfPermission(this.getApplicationContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { } else { ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_CODE); }
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