我正在开发一个动态壁纸应用程序,我有以下问题:
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()
方法。
感谢任何帮助,谢谢!
答案 0 :(得分:0)
AFAIK没有官方API来确定用户是否按下了“设置壁纸”,但您可以使用一个可以帮助您的技巧:
在Engine中创建静态布尔字段,即'startedInPreviewMode'
在将应用重定向到壁纸预览重置'startedInPreviewMode'之前
在您的引擎的onCreate()方法中检查isPreview()并记住'startupInPreviewMode'中的结果 - 如果当前实例不是预览,那么您的引擎以常规(非预览)模式启动 - 意味着用户按下“设置壁纸“
在你活动的onResume()方法中(在关闭壁纸预览后应用程序被重定向到的地方)检查静态布尔值'startedInPreviewMode'字段并执行你想要的任何动作。