【问题标题】:close old activity with widget使用小部件关闭旧活动
【发布时间】:2013-05-01 13:13:52
【问题描述】:

我有一个可以通过小部件和按图标打开的活动。我想知道当我按图标然后按主页按钮然后按小部件时如何关闭旧活动?


我希望它如何工作:

  1. 按图标打开活动(显示主视图)
  2. 在活动中做一些事情(打开对话框、更改视图等)
  3. 按主页按钮(显示主页屏幕)
  4. 使用小部件按钮打开活动(显示主视图)
  5. 按返回按钮(显示主屏幕

它是如何工作的:

  1. 按图标打开活动(显示主视图)
  2. 在活动中做一些事情(打开对话框、更改视图等)
  3. 按主页按钮(显示主页屏幕)
  4. 使用小部件按钮打开活动(显示主视图)
  5. 按下后退按钮(显示用图标打开的旧活动

我尝试过使用android:clearTaskOnLaunch="true"android:finishOnTaskLaunch="true"

android:launchMode="singleTop" 似乎应该可以工作,但它只是打开旧的活动并更改了视图

有没有办法在 onUserLeaveHint() 中不使用 finish() 来做到这一点?

【问题讨论】:

  • 发布您的清单。另外,还有一个问题:在测试时,您是第一次从 IDE(Eclipse、IntelliJ)还是从安装程序(安装 APK 单击“打开”后)启动应用程序?

标签: android widget android-activity


【解决方案1】:

在启动 MainActivity 时将 FLAG_ACTIVITY_CLEAR_TOP 添加到您的意图中

【讨论】:

    【解决方案2】:
    android:launchMode="singleTop"
    

    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
    

    【讨论】:

    • FLAG_ACTIVITY_CLEAR_TASK 仅适用于 API >= 11
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 2013-07-02
    相关资源
    最近更新 更多