Cómo configurar la imagen de la pantalla de bloqueo de Android


Estoy empezando con la programación de Android, y quiero ver si hay una manera de programar la imagen de la pantalla de bloqueo. He encontrado varias formas de configurar el fondo de pantalla en la API, pero parece que no puedo encontrar las formas equivalentes de configurar la imagen de la pantalla de bloqueo.

He visto varios posts diciendo que personalizar la pantalla de bloqueo agregando widgets o bits de aplicaciones no es posible, pero seguramente debe haber una manera de configurar la imagen ¿programáticamente?

Salud,

Robin

Author: robintw, 2010-04-16

4 answers

No hay "imagen de pantalla de bloqueo" en Android. Ciertamente no hay" imagen de pantalla de bloqueo " concepto que es el mismo entre Android stock, HTC Sense, MOTOBLUR, etc. Esto simplemente no es parte del SDK de Android.

El proyecto que Mr.Rijk señala es una violación de seguridad que pretende ser un reemplazo de pantalla de bloqueo.

 13
Author: CommonsWare,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-16 15:36:03

A partir del Nivel de API 24, han agregado nuevos métodos (y actualizado la documentación ) y banderas a WallpaperManager que le permiten establecer un Wallpaper no solo en la pantalla de inicio sino también en el Lockscreen

Para establecer un Wallpaper a Lockscreen use la nueva bandera WallpaperManager.FLAG_LOCK , y uno de los métodos que toman int which

WallpaperManager.getInstance(this).setStream(inputStream, null, true, WallpaperManager.FLAG_LOCK);

También puede utilizar uno de los siguientes métodos

int setStream (InputStream bitmapData,  Rect visibleCropHint,  boolean allowBackup, int which)

int setResource (int resid, int which)

int setBitmap (Bitmap fullImage, Rect visibleCropHint,  boolean allowBackup,  int which)

Una buena adición es que ahora también puede verificar si está se permite configurar el fondo de pantalla a través de isSetWallpaperAllowed, y obtener el fondo de pantalla actual a través de getWallpaperFile

Echa un vistazo a la documentación actualizada para el WallpaperManager.

 31
Author: mikepenz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-28 10:30:59

Hay una manera de hacerlo en dispositivos Samsung. En la intención se puede poner un extra.

intent.putExtra("SET_LOCKSCREEN_WALLPAPER", true);
startActivity(intent);

Solo he probado esto en algunos teléfonos Samsung y no hay garantía de que esto no se romperá en algún momento en el futuro. Úselo con precaución.

 3
Author: ppx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-11 12:17:35

Hay otra manera de hacer esto. al principio, es necesario guardar la imagen que desea establecer en lockedscreen en una carpeta (supongamos que se llama "appName").y luego, use el siguiente código para abrir la galería, después de que la galería se haya abierto.usuario principal para abrir la carpeta" appName", y elegir la foto en la galería del sistema. en la galería, el usuario puede establecer una foto como fondo de pantalla o papel de pantalla de bloqueo.

// este código para abrir la galería. startActivity(new Intent(Intent.ACTION_SET_WALLPAPER));

 0
Author: Licat Julius,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-24 09:02:24