2010-04-16 26 views
29

Sadece android programlamaya başladım ve kilit ekranı görüntüsünü programlı olarak ayarlamanın bir yolu olup olmadığını görmek istiyorum. API'da duvar kağıdını ayarlama konusunda çeşitli yollar buldum, ancak kilit ekranı resmini ayarlamanın eşdeğer yollarını bulamıyorum.Android kilit ekranı görüntüsü nasıl ayarlanır

Widget'leri veya uygulama bitlerini ekleyerek kilit ekranını özelleştirmenin mümkün olmadığını söyleyen çeşitli mesajlar gördüm, ancak mutlaka programın görüntüsel olarak ayarlanması için bir yol olmalı?

Alkış,

Robin

cevap

13

Android'de hayır "Kilit ekranı görüntüsü" yoktur. Orada kesinlikle stok Android, HTC Sense, MOTOBLUR, vb arasında aynı "kilit ekran görüntüsü" kavramı yoktur. Bu sadece Android SDK'nın bir parçası değildir.

Bay Rijk'in işaret ettiği proje, kilit ekranı değişimi yaptığını iddia eden bir güvenlik ihlalidir.

+1

Bunun farkında değildim. Bunu işaretlediğiniz için teşekkürler! –

+3

Bu yanıtı düşürdüm, çünkü özellikle bunu şimdi yapan bir uygulama var. Checkout, muse http://seemuse.com/home.html – uptownhr

+4

@uptownhr Yapabilirsem yorumunu reddederdim. Muse bir kilit ekranı değiştirme uygulaması. Kilit ekranı arka planını ayarlamaz.Kilit ekranını _becomes_ gibi ** kendi ** arka planını ayarlar. – copolii

3

Samsung aygıtlarında bunu yapmanın bir yolu var. Niyetinde bir ekstra koyabilirsiniz.

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

sadece bazı Samsung telefonlarda test ettik ve bu gelecekte bir zaman kırılmaz dair bir garanti yoktur. Dikkatle kullanın.

+0

ohk ne anlama geliyor? –

+0

lütfen uygun örnek ve tam eksipiyan verin –

22

API Seviye 24 itibariyle yeni yöntemleri ekledik (ve documentation güncellenir) Bir ayarlamak için bir Wallpaper sadece normal ekrana değil, aynı zamanda Lockscreen

ayarlı izin WallpaperManager ve bayraklar Lockscreen için Wallpaper yeni bayrak WallpaperManager.FLAG_LOCK ve int which

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

almak yöntemlerden birini kullanın 210

Ayrıca

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) 

güzel bir ek şimdi de getWallpaperFile

aracılığıyla güncel dizi duvar kağıdı Eğer isSetWallpaperAllowed aracılığıyla duvar kağıdı kontrol etmek için izin verilip verilmediğini kontrol edin ve alabilmenizdir aşağıdaki yöntemlerden birini kullanabilirsiniz

WallpaperManager için güncel documentation'a bakın.

0

Bunu yapmanın başka bir yolu var. ilk başta, bir klasörde kilitli olarak ayarlamak istediğiniz fotoğrafı ("appName" olarak adlandırılır) ve ardından galeri açıldıktan sonra galeri açıldıktan sonra "appName" klasörünü açmak için aşağıdaki kodu kullanın. ve sistem galerisinde pic seçin. galeride, kullanıcı bir fotoğrafı duvar kağıdı veya kilit ekranı olarak ayarlayabilir. Galeriyi açmak için bu kod

// bu kodu. startActivity (yeni Niyet (Intent.ACTION_SET_WALLPAPER));

İlgili konular