/**
* 去往某个动态壁纸的预览页面,那里可以设置壁纸
*
* @param context
* @param packageName
* 动态壁纸的包名
* @param classFullName
* 动态壁纸service类的类全名
*/
@SuppressLint("InlinedApi")
public static void startLiveWallpaperPrevivew(Context context,
String packageName, String classFullName) {
ComponentName componentName = new ComponentName(packageName,
classFullName);
Intent intent = new Intent(
WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT,
componentName);
intent.putExtra("test", "test");
context.startActivity(intent);
}
对于低于4.1.2版本的,经过苦苦的研究和寻找还是找不到直接去往预览页面的方法,而且看别人的一个这个的应用也不是直接进入到预览页面,而是先进入选择页面,再进入到预览页面。可以通过action:ACTION_LIVE_WALLPAPER_CHOOSER进入
修改之后的方法:(action尽量用字符串,而不是从WallpaperManager获得)
/**
* 去往某个动态壁纸的预览页面,那里可以设置壁纸
*
* @param context
* @param packageName
* 动态壁纸的包名
* @param classFullName
* 动态壁纸service类的类全名
*/
public static void startLiveWallpaperPrevivew(Activity activity, String packageName, String classFullName) {
ComponentName componentName = new ComponentName(packageName, classFullName);
Intent intent;
if (android.os.Build.VERSION.SDK_INT < 16) {
intent = new Intent(WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER);
} else {
intent = new Intent("android.service.wallpaper.CHANGE_LIVE_WALLPAPER");
intent.putExtra("android.service.wallpaper.extra.LIVE_WALLPAPER_COMPONENT", componentName);
}
activity.startActivityForResult(intent, 0);
}