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

问题描述 投票:1回答:1

我正在开发一个动态壁纸应用程序,我有以下问题: 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()方法。

非常感谢任何帮助,谢谢!

android android-intent preview live-wallpaper
1个回答
0
投票

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

  1. 在Engine中创建静态布尔字段,即'startedInPreviewMode'
  2. 在将应用重定向到壁纸预览之前重置'startedInPreviewMode'
  3. 在您的引擎的onCreate()方法中检查isPreview()并记住'startedInPreviewMode'中的结果 - 如果当前实例不是预览,那么您的引擎以常规(非预览)模式启动 - 意味着用户按下“设置壁纸”
  4. 在您活动的onResume()方法中(在关闭壁纸预览后将应用程序重定向到的位置)检查静态布尔值“startedInPreviewMode”字段并执行您想要的任何操作。
© www.soinside.com 2019 - 2024. All rights reserved.