Установить в качестве обоев намерения диалог? - PullRequest
0 голосов
/ 06 ноября 2018

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

enter image description here

Что это за намерение? Как передать изображение в приложение обоев по умолчанию на устройстве?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Вы можете попробовать это:

private void startWallpaper(){
    final Intent pickWallpaper = new Intent(Intent.ACTION_SET_WALLPAPER);
    Intent chooser = Intent.createChooser(pickWallpaper,"set wallpaeper");
    startActivity(chooser);
}

ссылка здесь

В вашем файле манифеста:

<uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>

Если вы хотите передать собственный img, можете сделать, как показано ниже:

WallpaperManager wpm = WallpaperManager.getInstance(context);
InputStream ins = new URL("absolute/path/of/image").openStream();
wpm.setStream(ins);
0 голосов
/ 06 ноября 2018

Попробуйте следующий фрагмент кода:

Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);//add this if your targetVersion is more than Android 7.0+
intent.setDataAndType(uri, "image/jpeg");
intent.putExtra("mimeType", "image/jpeg");
this.startActivity(Intent.createChooser(intent, "Set as:"));

PS: uri должен получить от FileProvider в Android 7.0+, если ваш targetVersion больше 7.0 +

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...