4

我有一个应用程序,它会在用户单击它时启动用户选择的应用程序(就像启动器一样)。但是请注意,由于抽象,应用程序的实际启动是由服务执行的。

用户的一个注释:从您的应用程序启动 greader 会打开 greader,就好像它从未使用过一样,无论之前是否输入过,都会提示输入帐户详细信息等。从任何其他方法(nova laucher 应用程序抽屉)启动 greader 可以让我进入我通常的新闻源。

其他用户报告根资源管理器在启动时崩溃的问题。

我最好的选择是这与启动标志有关。在调查了默认的 android 启动器之后,我的结论是我使用了相同的标志。

这些标志是:Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

我应该改用什么标志?我不想为某些应用程序添加例外,因此这些标志应该适用于所有要启动的应用程序。

谢谢你的帮助

4

1 回答 1

1

问题不在于标志本身,它们很好。此问题与未正确设置操作有关。通过像这样初始化意图解决了这个问题:

Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
于 2013-08-26T13:22:06.993 回答