2013-09-09 3 views
3

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

ответ

0

Используйте "android.intent.action.SET_WALLPAPER" + установить компонент/класс вашего приложения для обоев, чтобы ваше намерение было обработано вашим приложением.

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

Intent intent = new Intent("android.intent.action.SET_WALLPAPER"); 
// Change the following line with that of your own app 
intent.setClassName("com.android.launcher", "com.android.launcher2.WallpaperChooser"); 
try { 
    startActivity(intent); 
} catch (ActivityNotFoundException e) { 
    Log.wtf(TAG, "No activity found to handle " + + intent.toString()); 
} 
1

Это лучшее решение, вы не порога должны указать целевое приложение;

Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER); 
startActivity(Intent.createChooser(intent, "Select Wallpaper")); 
+0

Установить изображение в качестве обоев, этот выше код открывает другие приложения для обоев. –

0

Я знаю его опоздание, но для кого-то желающих, его работы для меня.

final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this); 
    final Drawable wallpaperDrawable = wallpaperManager.getDrawable(); 
    try { 
     wallpaperManager.setBitmap(yourImageView.getDrawingCache()); 
     finish(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
+0

WallpaperManager - правильный путь – Meanman