Подтвердить что ты не робот

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

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

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

Приветствия,

Робин

4b9b3361

Ответ 1

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

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

Ответ 2

Начиная с API уровня 24 они добавили новые методы (и обновили документация) и флаги WallpaperManager, которые позволяют вам установить a 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)

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

Ознакомьтесь с обновленной документацией для WallpaperManager.

Ответ 3

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

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

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

Ответ 4

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

//этот код, чтобы открыть галерею. startActivity (новый Intent (Intent.ACTION_SET_WALLPAPER));