用户点击“设置壁纸”时的Android动态壁纸预览开始活动

时间:2017-01-25 12:00:07

标签: android android-intent preview live-wallpaper

我正在开发一个动态壁纸应用程序,我有以下问题:
1)用户点击按钮,使用此代码显示Android实时预览

Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT,
new ComponentName(getBaseContext(), MyWallpaperService.class));
startActivityForResult(intent,WALLPAPER_CHANGED);

2)实时预览服务显示动态壁纸预览和“设置壁纸”按钮。

3)我的问题是,我想在预览后开始一个不同的活动,如果用户点击“设置壁纸”,如果用户点击后退按钮就返回。我找不到抓住这个“设置壁纸”的方法“点击。在两种情况下都会调用引擎的onDestroy()方法。

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

AFAIK没有官方API来确定用户是否按下了“设置壁纸”,但您可以使用一个可以帮助您的技巧:

  1. 在Engine中创建静态布尔字段,即'startedInPreviewMode'

  2. 在将应用重定向到壁纸预览重置'startedInPreviewMode'之前

  3. 在您的引擎的onCreate()方法中检查isPreview()并记住'startupInPreviewMode'中的结果 - 如果当前实例不是预览,那么您的引擎以常规(非预览)模式启动 - 意味着用户按下“设置壁纸“

  4. 在你活动的onResume()方法中(在关闭壁纸预览后应用程序被重定向到的地方)检查静态布尔值'startedInPreviewMode'字段并执行你想要的任何动作。