是否可以使用一些代码行设置动态壁纸。例如,我想告诉我的用户可以使用动态壁纸“单击此处进行设置”。
问问题
17868 次
2 回答
34
现在有两种方法可以实现这一点,因为 Jelly Bean 提供了一种直接设置动态壁纸的方法。此样板代码将选择可用的最佳方法。
Intent i = new Intent();
if(Build.VERSION.SDK_INT > 15){
i.setAction(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
String p = HypercaneWallpaperService.class.getPackage().getName();
String c = HypercaneWallpaperService.class.getCanonicalName();
i.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, new ComponentName(p, c));
}
else{
i.setAction(WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER);
}
getActivity().startActivityForResult(i, 0);
于 2012-11-05T21:01:27.380 回答
26
好吧,就这样我不再对过时的答案投反对票。请参阅下面的错误 454 的答案以获得更强大的解决方案,该解决方案将用户直接发送到 Jelly Bean 和更高版本设备上的壁纸预览屏幕。
=========================================
以下是如何启动壁纸选择器,用户可以从中选择您的壁纸。吐司只是向用户解释发生了什么的一种方式。
Toast toast = Toast.makeText(this, "Choose '<WALLPAPER NAME>' from the list to start the Live Wallpaper.",Toast.LENGTH_LONG);
toast.show();
Intent intent = new Intent();
intent.setAction(WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER);
startActivity(intent);
于 2011-01-28T19:01:02.987 回答