2010-04-16 92 views
29

我剛剛開始使用android編程,並且想要查看是否有以編程方式設置鎖定屏幕圖像的方法。我已經找到了在API中設置壁紙的各種方法,但我似乎無法找到設置鎖定屏幕圖像的等效方法。如何設置android鎖定屏幕圖像

我見過各種文章說通過添加小部件或應用程序的位來定製鎖定屏幕是不可能的,但肯定必須有一種方法來設置圖像編程?

乾杯,

羅賓

回答

13

有沒有 「鎖屏圖像」,在Android系統。毫無疑問,Android鎖定,HTC Sense,MOTOBLUR等等沒有「鎖屏圖像」的概念。這根本不屬於Android SDK的一部分。

Rijk先生指出的項目是一項假裝爲鎖屏替換的安全違規行爲。

+1

我沒有意識到這一點。感謝您指出了這一點! – 2010-04-19 21:00:43

+3

我低估了這個答案,因爲現在有一個專門做這個的應用程序。結賬,繆斯http://seemuse.com/home.html – uptownhr 2014-07-21 14:49:51

+4

@uptownhr如果可以的話,我會降低你的評論。繆斯是一個鎖屏替換應用程序。它不設置鎖屏背景。它設置了它自己的**背景,因爲它會成爲鎖屏。 – copolii 2014-10-04 18:54:46

3

有一種方法可以在三星設備上進行。在意圖中你可以放一個額外的。

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

我只在一些三星手機上測試過,並且不能保證這不會在未來一段時間內損壞。謹慎使用。

+0

ohk意思是什麼意思? – 2017-04-01 07:48:51

+0

請給出正確的例子和完整的exapmle – 2017-04-01 07:49:20

22

由於API等級24,他們已經增加了新的方法(和更新documentation)和標誌的WallpaperManager,讓你可以設置一個Wallpaper不僅對正常的屏幕也給Lockscreen

要設置WallpaperLockscreen使用新的標誌WallpaperManager.FLAG_LOCK,以及研究採取int which

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

的方法之一210

您也可以使用以下方法

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) 

一個很好的補充是,您現在還可以通過getWallpaperFile

檢查,如果你被允許通過 isSetWallpaperAllowed檢查壁紙,並獲得當前設置壁紙之一

檢查出WallpaperManager更新的documentation

0

還有另一種方法可以做到這一點。首先,您需要將您想要在鎖屏中設置的圖片保存到文件夾中(假設它被稱爲「appName」),然後使用以下代碼在圖庫打開後打開圖庫。請用戶打開「appName」文件夾,並選擇系統庫中的圖片。在圖庫中,用戶可以將圖片設置爲壁紙或鎖屏紙。

//此代碼打開圖庫。 startActivity(new Intent(Intent.ACTION_SET_WALLPAPER));