Jak ustawić obraz ekranu blokady Androida

Dopiero zaczynam programowanie Androida i chcę zobaczyć, czy jest sposób na programowe ustawienie obrazu ekranu blokady. Znalazłem różne sposoby ustawiania tapety w API, ale nie mogę znaleźć równoważnych sposobów ustawiania obrazu ekranu blokady.

Widziałem różne posty mówiące, że dostosowanie ekranu blokady przez dodanie widżetów lub bitów aplikacji nie jest możliwe, ale na pewno musi być sposób, aby ustawić obraz programowo?

Pozdrawiam,

Robin

Author: robintw, 2010-04-16

4 answers

W Androidzie nie ma "obrazu ekranu blokady". Z pewnością nie ma koncepcji "obrazu ekranu blokady", która jest taka sama między zapasowym Androidem, HTC Sense, MOTOBLUR itp. To po prostu nie jest częścią Android SDK.

Projekt, na który wskazuje Pan Rijk, jest naruszeniem bezpieczeństwa, które udaje zastąpienie ekranu blokady.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-16 15:36:03

Od poziomu API 24 dodano nowe metody (i zaktualizowano dokumentację ) i flagi do WallpaperManager, które pozwalają ustawić Wallpaper nie tylko na ekranie głównym, ale także na Lockscreen

Aby ustawić Wallpaper na Lockscreen użyj nowej flagi WallpaperManager.FLAG_LOCK , oraz jedną z metod, które przyjmują int which

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

Możesz również użyć jednej z następujących metod

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)

Miłym dodatkiem jest to, że możesz teraz również sprawdzić, czy jesteś można ustawić tapetę za pomocą isSetWallpaperAllowed i pobrać aktualną tapetę za pomocą getWallpaperFile

Sprawdź zaktualizowaną dokumentację dla 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/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-28 10:30:59

Jest sposób, aby to zrobić na urządzeniach Samsung. W intencji można umieścić dodatkowe.

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

Testowałem to tylko na niektórych telefonach Samsunga i nie ma gwarancji, że to nie pęknie w przyszłości. Stosować ostrożnie.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-11 12:17:35

Jest inny sposób, aby to zrobić. na początku musisz zapisać zdjęcie, które chcesz ustawić w lockedscreen w folderze (Załóżmy, że nazywa się to "appName").następnie użyj poniższego kodu, aby otworzyć galerię po otwarciu galerii.poprowadź użytkownika do otwarcia folderu "appName" i wybierz zdjęcie w galerii systemu. w galerii użytkownik może ustawić zdjęcie jako tapetę lub papier lockscreen.

/ / ten kod do otwarcia Galerii. startActivity (Nowa Intencja (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/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-24 09:02:24