2012-03-06 13 views
6

Hay una aplicación en Google Play Store llamada "Filtro de pantalla", que está diseñada para cubrir toda la pantalla con un poco de negro translúcido, para permitir que la pantalla sea más tenue que el brillo mínimo.Android: Herramientas del sistema: Mostrar alertas de nivel de sistema: ¿Cómo se usa este permiso?

Hace esto usando un permiso llamado "Mostrar alertas de nivel de sistema".

  1. ¿Dónde está la documentación que me permite hacer esto en mi aplicación?

  2. ¿Puede esta "alarma a nivel de sistema" interceptar eventos táctiles? Esto es para que pueda hacer que mi aplicación tome el control an Android that is supposed to stay in our building.

me gusta este enfoque, ya que evita que el teléfono se apague antes de que sea entregado (que daría lugar a una alarma), a menos que, por supuesto, hay un martillo en cuestión.

Respuesta

10
  1. Docs para Manifest.Permission muestran que la SYSTEM_ALERT_WINDOW es el permiso que busca. Usted declararía este permiso en el Manifest y luego en un Dialog o cualquier otro tipo de Window, establecería este indicador WindowManager.LayoutParams.TYPE_SYSTEM_ALERT. Así que para una Dialog se vería así:

    dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

  2. Sí, será capaz de interceptar eventos de toque. Las alertas del sistema, como una advertencia de batería baja, siempre se abren sobre todas las demás aplicaciones, por lo que cualquier Window emergente se enfocará, etc. Según lo que quiera hacer con esto, me imagino que podría hacer algo como: aparezca un Dialog (como una alerta de nivel del sistema) que necesita una contraseña para que desaparezca.

Cuestiones relacionadas