2010-04-16 15 views
29

Po prostu zaczynam programowanie Android i chcę sprawdzić, czy istnieje sposób programowego ustawienia obrazu blokady ekranu. Znalazłem różne sposoby ustawiania tapety w interfejsie API, ale nie mogę znaleźć odpowiednich sposobów ustawiania obrazu blokady ekranu.Jak ustawić obraz ekranu blokady Androida?

Widziałem różne posty informujące, że dostosowywanie ekranu blokady poprzez dodawanie widżetów lub bitów aplikacji nie jest możliwe, ale z pewnością musi być jakiś sposób, aby ustawić programowo programowo?

Cheers,

Robin

Odpowiedz

13

Nie ma "blokady ekranu obraz" w Androidzie. Z całą pewnością nie ma koncepcji "obrazu na ekranie blokady", która jest taka sama w przypadku systemu Android, HTC Sense, MOTOBLUR itp. To po prostu nie jest częścią zestawu SDK systemu Android.

Projekt, o którym wspomina pan Rijk, jest naruszeniem bezpieczeństwa, które udaje zamiennik ekranu blokady.

+1

Nie wiedziałem o tym. Dzięki za wskazanie tego! –

+3

Obniżyłem tę odpowiedź, ponieważ istnieje aplikacja, która konkretnie robi to teraz. Kasa, muza http://seemuse.com/home.html – uptownhr

+4

@uptownhr Zredagowałbym twój komentarz, gdybym mógł. Muse to aplikacja zastępująca ekran blokady. Nie ustawia tła ekranu blokady.Ustawia ** własne ** tło na ekranie blokady. – copolii

3

Jest sposób na zrobienie tego na urządzeniach Samsung. W zamyśle możesz umieścić dodatkowe.

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

Testowałem to tylko na niektórych telefonach Samsung i nie ma gwarancji, że nie będzie to miało czasu w przyszłości. Używaj ostrożnie.

+0

ohk co oznacza intencja? –

+0

proszę podać prawidłowy przykład i pełny przykład –

22

Jak API poziom 24 zostały dodane nowe metody (i zaktualizowane documentation) i flagi do WallpaperManager które pozwalają ustawić Wallpaper nie tylko do normalnego ekranu, ale również do Lockscreen

Aby ustawić Wallpaper do Lockscreen użyć nową flagę WallpaperManager.FLAG_LOCK, a jedną z metod, które biorą int which

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

Można również skorzystać z 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żna teraz również sprawdzić, czy mogą sprawdzić tapetę poprzez isSetWallpaperAllowed i uzyskać aktualny zestaw tapet poprzez getWallpaperFile

Sprawdź zaktualizowaną documentation dla WallpaperManager.

0

Istnieje inny sposób, aby to zrobić. najpierw musisz zapisać obraz, który chcesz ustawić na zablokowanym ekranie w folderze (przypuśćmy, że nazywa się to "appName"), a następnie użyć następującego kodu, aby otworzyć galerię po otwarciu galerii.użytkownik powinien otworzyć folder "appName", i wybierz zdjęcie w galerii systemu. w galerii użytkownik może ustawić zdjęcie jako tapetę lub papier ekranowy.

// ten kod do otwierania galerii. startActivity (new Intent (Intent.ACTION_SET_WALLPAPER));

Powiązane problemy