0

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

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

我怎样才能解决这个问题?

4

1 回答 1

2

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

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);
于 2013-01-24T17:23:41.013 回答