我只想在预览活动中从动态壁纸选择应用程序运行壁纸时绘制文本消息。 (使用“设置壁纸”和“设置”按钮)。
由于我有一个免费和付费版本,在免费版本中,我还想让用户了解付费版本功能,甚至在预览壁纸时启用这些功能,但不是在实际运行时启用在主屏幕上,以避免烦扰他们。
有什么想法吗?
作为替代方案,我可能会在第一次启动壁纸时显示此信息,这将始终来自预览活动。
答案 0 :(得分:6)
在onCreateEngine()方法中使用isPreview()。
答案 1 :(得分:5)
您是否愿意只检查您的壁纸是否已经设置?
在WallpaperService#onCreateEngine()
的实施中,你可以这样做:
WallpaperManager wpm = (WallpaperManager) getSystemService(WALLPAPER_SERVICE);
WallpaperInfo info = wpm.getWallpaperInfo();
if (info != null && info.getComponent().equals(new ComponentName(this, getClass()))) {
Log.d(TAG, "We're already running");
// Still might be a preview, but the user is already running your LWP.
} else {
Log.d(TAG, "We're not running, this should be a preview");
// Should definitely be a preview.
}