Comment configurer l'image de l'écran de verrouillage d'android

je commence à peine avec la programmation android, et je veux voir s'il y a un moyen de programmer l'image de l'écran de verrouillage. J'ai trouvé plusieurs façons de configurer le fond d'écran dans L'API, mais je n'arrive pas à trouver les façons équivalentes de configurer l'image de l'écran de verrouillage.

j'ai vu plusieurs messages disant que la personnalisation de l'écran de verrouillage en ajoutant des widgets ou des bits d'applications n'est pas possible, mais sûrement il doit y avoir un moyen de définir l'image par programmation?

Cheers,

Robin

32
demandé sur robintw 2010-04-16 19:02:07

4 réponses

il n'y a pas de" lock screen image " dans Android. Il n'y a certainement pas de "lock screen image" concept qui est le même entre Android stock, HTC sens, MOTOBLUR, etc. Cela ne fait tout simplement pas partie du SDK Android.

le projet auquel M. Rijk fait référence est une infraction à la sécurité qui prétend être un remplacement d'écran de verrouillage.

13
répondu CommonsWare 2010-04-16 15:36:03

à partir du niveau API 24, ils ont ajouté de nouvelles méthodes (et mis à jour la documentation ) et des drapeaux à la WallpaperManager qui vous permettent de définir un Wallpaper non seulement à l'écran d'accueil, mais aussi à la Lockscreen

pour définir un Wallpaper au Lockscreen utilisez le nouveau drapeau WallpaperManager.FLAG_LOCK , et l'une des méthodes qui prennent int which

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

Vous pouvez également utiliser l'une des méthodes suivantes

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)

une belle addition est que vous pouvez maintenant aussi vérifier si vous êtes autorisé à mettre le fond d'écran via isSetWallpaperAllowed , et obtenir le fond d'écran actuel par getWallpaperFile

Vérifier les mises à jour documentation pour le WallpaperManager .

31
répondu mikepenz 2018-03-28 10:30:59

il y a un moyen de le faire sur les appareils Samsung. Dans l'intention, vous pouvez mettre un supplément.

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

Je l'ai testé seulement sur quelques téléphones Samsung et il n'y a aucune garantie que cela ne se brisera pas dans le futur. À utiliser avec prudence.

3
répondu ppx 2015-02-11 12:17:35

Il y a une autre façon de le faire. au début ,vous devez sauvegarder le pic que vous voulez mettre dans lockedscreen dans un dossier(supposons qu'il s'appelle "appName").et puis ,utilisez le code suivant pour ouvrir la galerie, après la galerie a ouvert.conduisez l'utilisateur à ouvrir le dossier" appName", et choisissez le pic dans la galerie du système. dans la galerie,l'utilisateur peut définir une image comme papier peint ou papier d'écran de verrouillage.

// ce code pour ouvrir la galerie. startActivity(new Intent(Intent.ACTION_SET_WALLPAPER));

0
répondu Licat Julius 2017-03-24 09:02:24