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