Как установить обои экрана блокировки на устройствах до API 24 в Android? - PullRequest
5 голосов
/ 20 марта 2020

У меня есть изображение, и я хочу установить его в качестве обоев экрана блокировки. Для устройств с API 24 и выше мы можем сделать это с

wallpaperManager.setBitmap(bitmap,null,true,WallpaperManager.FLAG_LOCK)

Но я хочу сделать это на устройствах до API 24, как это делают многие другие приложения для обоев. На этот вопрос уже ответили здесь , но это не дает никакой подсказки о том, как другие приложения-фоновые рисунки могут устанавливать обои экрана блокировки на устройствах до API 24. Существуют другие решения, которые предполагают, что приложение имеет быть зарегистрированным в качестве медиа-контроллера для временной замены, но это не мое дело. Обратите внимание, что мне известно о том, что это невозможно сделать через стандартный API, однако я ищу альтернативу.

1 Ответ

1 голос
/ 24 марта 2020

Используйте это неявное намерение для установки обоев или установки обоев экрана блокировки на устройствах до API 24.

Intent intent = new Intent("android.intent.action.ATTACH_DATA");
intent.addCategory("android.intent.category.DEFAULT");
String str = "image/*";
intent.setDataAndType(Uri.fromFile(new File(your_file_url)), str);
intent.putExtra("mimeType", str);
startActivity(Intent.createChooser(intent, "Set As:"));
...