如何正确处理意图?

时间:2011-10-05 16:13:13

标签: android android-intent

我的应用程序可以查看某种类型的文件,并在其AndroidManifest.xml中的intent-filter中声明。我的应用程序启动很好,但我看到在不同的设备和不同的应用程序上有一些不一致的行为,我想知道是否有一个我缺少的最佳实践。

我经常在某些文件浏览器上看到这个用例:

  1. 用户选择一个文件,然后在我的应用程序中打开。
  2. 用户按下主页,然后重新启动文件浏览器意图。
  3. 文件浏览器应用程序启动,但我的应用程序位于顶部(如果用户按下,它将返回文件浏览器)。
  4. 其他时候我看到这个更理想的用例:

    1. 用户选择一个文件,然后在我的应用程序中打开。
    2. 用户按下主页,然后重新启动文件浏览器意图。
    3. filebrowser应用程序正常启动(如果用户选择我的应用程序,则会在先前打开的文件处于活动状态时启动)。
    4. 所以,我想知道这种不一致是由于文件浏览器的不同实现,还是我应该做些什么来正确处理意图,比如某种方式“释放”启动我应用的应用程序?

1 个答案:

答案 0 :(得分:0)

我认为你的问题不是处理意图,而是处理活动堆栈。您可以明确地完成()您的'启动器'活动(在AndroidManifest.xml中分类)。 您还可以在文件浏览器意图中“放置”一个vflag,指示应用程序何时应该遵循什么样的活动顺序。例如,如果您希望文件浏览器直接启动,您可以搜索该标志的意图并根据其值finish()启动器活动并直接启动文件浏览器actvitiy或按照原始活动顺序继续。