No se puede ocultar el diálogo de permiso de ejecución de Marshmallow

He administrado el permiso Run-time de onResume () en mi BaseActivity . Cuando comienzo mi aplicación, un diálogo de permisos de tiempo de ejecución abre ese tiempo sin tomar ninguna acción en el diálogo que voy a la configuración de la aplicación y tomar acciones en los permisos. Ahora, cuando vuelva a reanudar la aplicación, todavía se muestra el cuadro de diálogo anterior.

Así que si ya he permitido el permiso, ¿qué debo hacer con el diálogo porque todavía se muestra?

No es una buena idea pedir permiso en el método onResume. Solo debe solicitar permiso cuando lo necesite. Sin embargo, puede utilizar este código para solucionar el problema:

boolean permissionRequested = false; @Override protected void onResume() { super.onResume(); if (Build.VERSION.SDK_INT > 22) { if (getPackageManager().checkPermission(Manifest.permission.CAMERA, getPackageName()) == PackageManager.PERMISSION_GRANTED) { permissionRequested = false; Toast.makeText(this, "Permission Granted", Toast.LENGTH_SHORT).show(); } else { if (permissionRequested) { permissionRequested = false; Toast.makeText(this, "Permission Denied", Toast.LENGTH_SHORT).show(); } else { permissionRequested = true; requestPermissions(new String[] { Manifest.permission.CAMERA }, 100); } } } else { Toast.makeText(this, "Permission Granted", Toast.LENGTH_SHORT).show(); } } 

Se trata de un problema de sistema operativo Android. También he enfrentado el mismo problema y encontrado el problema del sistema operativo.

Compruebe si tiene el permiso en onResume – y sólo mostrar el diálogo si obtiene un resultado negativo

  • getAllNetworkInfo () está obsoleto en M, pero su sustitución tiene un comportamiento diferente
  • WRITE_SETTINGS Ambigüedad del permiso
  • Abrir archivo pdf Error: No se pudo acceder a este archivo Compruebe la ubicación o la red e inténtelo de nuevo. Melcocha de Android 6
  • ¿Cómo inhabilitar una aplicación del modo Doze?
  • Android M - comprobar el permiso de ejecución - cómo determinar si el usuario marcó "Nunca preguntar de nuevo"?
  • ConnectivityManager.requestNetwork en Android 6.0
  • Método FloatMath.sqrt () no encontrado
  • Cómo reparar la superposición de pantalla detectada mediante programación
  • Desafortunadamente, Package Installer se ha detenido mientras solicitaba permiso en Marshmellow
  • Android M está escuchando android.os.action.DEVICE_IDLE_MODE_CHANGED
  • Cómo obtener la ruta SD_Card en android6.0 mediante programación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.