对我来说有点令人困惑的问题:
我有一个主屏幕小部件,当点击它时,会启动我的主应用程序活动,并在意图中添加一些额外内容:
Intent start = new Intent(context, Main.class);
start.putExtra("action", "showXYZ");
start.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(start);
这一切都很好,它开始了我的活动,我的活动按预期收到了额外的东西。它处理这些额外内容并开始另一个活动。
一旦用户单击主屏幕小部件并以这种方式启动主要活动,通过“最近的应用程序”方法进入应用程序(按住“主页”键)启动带有附加功能的主要活动 - 导致处理发生我不想要(并导致第二个活动打开,而不是只显示主要活动)。
有什么解决方法吗?从“最近的应用程序”方法启动应用程序时,我想简单地启动 Main 活动,而不需要最后一组附加功能。
非常感谢您的帮助!r3mo
注意:我在 android 1.5
编辑:
在这里找到了一种解决方法: Android 不断缓存我的 Intents Extras,如何声明一个挂起的 Intent 来保留新的 Extras?
我将为小部件触发的意图添加时间戳,并检查时间戳是否在 Main.java 中是最新的。如果是,我会继续处理。如果没有,我将只显示 Main.java 活动。
很想知道是否有任何官方解决方案。