2011-10-05 64 views
2

我的應用程序可以查看某種類型的文件,並在AndroidManifest.xml中的intent-filter中聲明它。我的應用程序啓動正常,但是我發現在不同的設備和不同的應用程序上存在一些不一致的行爲,並且在想我是否缺少最佳做法。如何正確處理意圖?

我經常看到一些文件瀏覽器這個用例:

  1. 用戶選擇一個文件,並在我的應用程序中打開。
  2. 用戶按回家,然後重新啓動文件瀏覽器意圖。
  3. filebrowser應用程序啓動,但與我的應用程序頂部(如果用戶按下,它會回到文件瀏覽器)。

其他時候,我看到這更理想的使用案例:

  1. 用戶選擇一個文件,並在我的應用程序中打開。
  2. 用戶按回家,然後重新啓動文件瀏覽器意圖。
  3. filebrowser應用程序正常啓動(如果用戶選擇我的應用程序,它將啓動以前打開的文件激活)。

所以,我不知道這不一致是由於該文件的瀏覽器不同的實現,或者如果有什麼我應該做妥善處理意圖,像「釋放」即開始了我的應用程序的應用程序的一些方法?

回答

0

我認爲你的問題不是處理意圖,而是處理活動堆棧。你可以明確地完成()你的'啓動器'活動(分類在AndroidManifest.xml中)。 您也可以在您的filebrowser意圖中「放置」一個vflag,以指示應用程序何時應該遵循什麼序列的活動。例如,如果您希望直接啓動filebrowser,您可以搜索該標誌的意圖,並根據其值完成()啓動程序活動,並直接啓動文件瀏覽器活動或按照您的原始活動序列繼續。