Cómo crear un widget de pantalla de bloqueo personalizado (sólo quiero mostrar un botón)

Tengo que permitir a los usuarios capturar rápidamente una imagen usando mi aplicación cuando el dispositivo está bloqueado. Creo que la forma más rápida para que un usuario haga esto es a través de un botón / widget en la pantalla de bloqueo, aunque no estoy seguro de cómo construir esto.

La mayoría de las referencias que he encontrado se relacionan con la reproducción de música y el uso de RemoteControlClient (que puede ser sólo Android 4.4?). En su más básico me gustaría un botón que decía "captura". ¿Alguna ayuda sobre cómo hacer esto?

Niveles de API

Los widgets de pantalla de bloqueo se introdujeron en la API 17 (4.2) y se eliminaron en la API 21 (5.0). No se admiten en otras versiones oficiales.


Widget básico

Escribí un widget simple como un tutorial de demostración – contiene todo el código necesario para un widget, y muy poco más:

  • Demostración de Widget WiFi (github)
  • Widget WiFi (Play Store)

Lo escribí de tal manera para que sea fácil para cualquier persona para eliminar el "wifi" relacionados con el código, y adaptarlo a sus propios requisitos widget. Podría ser perfecto para que usted mire, y relativamente simple agregar un solo botón a él.


Bloqueo de pantalla / Protector de teclado Widget

Hay 2 cambios para que funcione como un widget de pantalla de bloqueo:

  • Actualizar la widgetCategory para incluir el keyguard
  • Agregando un initialKeyguardLayout

Estos cambios se realizan en el archivo ./res/xml/widget_info.xml , como se ve a continuación:

 <?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:initialKeyguardLayout="@layout/widget" android:initialLayout="@layout/widget" android:minHeight="40dp" android:minWidth="250dp" android:updatePeriodMillis="0" android:widgetCategory="home_screen|keyguard" > </appwidget-provider> 

No sé si es posible integrar la cámara en su propio widget de pantalla de bloqueo. Al hacer clic en un widget de bloqueo de pantalla normalmente se requiere que el usuario desbloquee el dispositivo antes de que el clic funcione.

  • Theme.NoDisplay crea un retraso de strage
  • Receptor de difusión que no recibe la intención
  • ¿Cómo funcionan internamente los intentos?
  • Iniciar aplicación desde el navegador url esquema
  • ¿Cómo pasar un objeto a otra actividad?
  • Prácticas recomendadas: agregar tu aplicación al menú de recursos compartidos de Android
  • ¿Cuál es la intención de abrir la configuración de DND?
  • Android: BroadcastReceiver intención de detectar la foto de la cámara tomada?
  • ¿ActividadNotFoundException?
  • Android google play juegos seleccionar actividad para iniciar cuando se hace clic en la notificación
  • Llene el correo electrónico con el formulario enteries Eclipse Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.