【问题标题】:Android: Launch app with shortcut, perform action, and exit?Android:使用快捷方式启动应用程序,执行操作并退出?
【发布时间】:2013-01-25 01:23:41
【问题描述】:

我有一个可以执行某些操作的 Android 应用程序。但是,我也允许在主屏幕上创建快捷方式来执行某些操作。您可以在应用程序中通过按下调用方法的按钮(让我们调用方法 DoAction)在应用程序中执行某些操作,我希望允许用户直接从快捷方式执行。单击快捷方式时,它会打开主 Activity 并像按钮一样调用 DoAction,然后在 Activity 上调用 finish() 以将其关闭。

但是,当应用程序已经在 RAM(最小化)中打开时,就会出现问题。在快捷方式创建的 Activity 中调用 finish() 后,应用程序的旧运行实例被带到前面(我不希望发生这种情况)。

我该如何解决这个问题?

【问题讨论】:

  • 你是如何创建快捷方式的?如果您使用 Intent 来执行此操作,请尝试添加 SINGLE_TOP 标志。或者可能是 CLEAR_TOP 或 CLEAR_TASK
  • 谢谢!我使用了 ACTIVITY_CLEAR_TASK 标志,它运行良好。
  • 您能否添加您现在使用的源代码作为此问题的答案,以便将来可以帮助解决相同问题的人。如果您必须对您的资料保密,请抽象出资料的名称,但既然它帮助了您,那么如果您将来发布它,它一定会帮助其他人。

标签: android android-activity shortcut


【解决方案1】:

这是我用来创建快捷方式的工作代码:

Intent shortcutIntent = new Intent(ShortcutActivity.this, com.example.myproject.ClassToOpen.class);
shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); // This was the line that I needed to add

ShortcutIconResource iconResource = Intent.ShortcutIconResource.fromContext(ShortcutActivity.this, R.drawable.shortcut);
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Shortcut Name");
setResult(RESULT_OK, intent);

【讨论】:

    猜你喜欢
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 2020-05-09
    相关资源
    最近更新 更多