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
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.
à 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
.
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.
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));