Мое приложение показывает изображение, а затем устанавливает его в качестве обоев устройства.
У меня есть код, и я уже пробовал его на некоторых устройствах и успешно работает. (Lenovo Vibe C Lolipop, зефир Advan I7)
Но я обнаружил проблему на устройстве Xiaomi Redmmi 5 (Nougat)
Когда я выбирал картинку в качестве обоев при помощи намеренного выбора, опция «Галерея» отсутствовала
Примечание: Я думаю, что на Xiaomi опция «Галерея» является лучшим выбором для установки изображения в качестве обоев для устройства, чем другие
Я прикрепил скриншот с Lenovo Vibe C (есть опция «Галерея») и Xiaomi Redmi 5 (опция «Нет галереи»)
Ниже приведен фрагмент кода
//I have picture in "Wallpaper Folder", its name is "IMG_Wallpaper.jpg"
File folderPict = new File(Environment.getExternalStorageDirectory() + File.separator + "Wallpaper Folder");
String pictName = "IMG_Wallpaper.jpg";
String destFileName = folderPict.getAbsolutePath() + "/" + pictName;
filePict = new File(destFileName);
// In this step, I already have filePict "IMG_Wallpaper.jpg" in folder "folderPict"
//get uri from external file
Uri uriPict = Uri.fromFile(filePict);
//set wallpaper by intent chooser
Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
intent.setDataAndType(uriPict, "image/*");
intent.putExtra("mimeType", "image/*");
startActivity(Intent.createChooser(intent, "Set as"));