Как установить изображение экрана блокировки android

Я только начинаю с программирования android и хочу посмотреть, есть ли способ программно установить изображение экрана блокировки. Я нашел различные способы установки обоев в API, но я не могу найти эквивалентные способы установки изображения экрана блокировки.

Я видел различные сообщения о том, что настройка экрана блокировки путем добавления виджетов или бит приложений невозможна, но, безусловно, должен быть способ установить изображение программно?

спасибо,

Робин

4 ответов


В Android нет "блокировки изображения экрана". Там, безусловно,нет концепции" блокировки экрана", которая одинакова между Android, HTC Sense, MOTOBLUR и т. д. Это просто не является частью Android SDK.

проект, на который указывает г-н Рийк, является нарушением безопасности, которое претендует на замену экрана блокировки.


начиная с уровня API 24 они добавили новые методы (и обновили документация) и флаги на WallpaperManager, которые позволяют установить Wallpaper не только на главный экран, но и Lockscreen

установить Wallpaper до Lockscreen использовать новый флаг WallpaperManager.FLAG_LOCK, и один из методов, которые принимают int which

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

вы также можете использовать один из следующих методов

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)

A приятным дополнением является то, что теперь вы можете также проверить, если вы можете установить обои через isSetWallpaperAllowed, и получить текущий набор обоев через getWallpaperFile

проверить обновление документация на WallpaperManager.


есть способ сделать это на устройствах Samsung. В intent вы можете поставить дополнительный.

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

Я тестировал это только на некоторых телефонах Samsung, и нет никакой гарантии, что это не сломается в будущем. Используйте с осторожностью.


есть другой способ сделать это. сначала вам нужно сохранить рисунок, который вы хотите установить в lockedscreen в папке(предположим, что он называется "appName").и затем используйте следующий код, чтобы открыть галерею, после открытия галереи.ведущий пользователь, чтобы открыть папку" appName", и выберите рис в галерее системы. в галерее,пользователь может установить изображение в качестве обоев или блокировки бумаги.

/ / этот код для открытия галереи. startActivity (новое намерение (намерение.ACTION_SET_WALLPAPER));