2011-12-05 62 views
3

我們一直致力於通過電子郵件中的鏈接啓動我們的應用程序,並且我們有一些工作得很好。只有使用http/https方案的URL才能正常工作,所以我們在我們的服務器應用程序中編寫了一個小的「重定向器」,它看到我們來自Android瀏覽器,並使用我們的應用程序啓動的方案重定向到URI。所有這些工作都很好。如何從活動堆棧中刪除瀏覽器,如果它啓動我的活動?

唯一不好的部分是因爲瀏覽器在點擊電子郵件中的鏈接和由於重定向而彈出的應用程序之間啓動,當用戶在使用我們的應用程序後點擊後退按鈕返回到他們的電子郵件程序,瀏覽器會顯示給用戶。瀏覽器留在空白頁面上,用戶可能會因此而感到困惑,而不知道要再次按下後退按鈕才能回到他們的電子郵件。

當我們的應用程序從鏈接啓動時,瀏覽器將處理URL,重定向將導致我們的應用程序像平常一樣出現。但是,在我的應用程序中有沒有一種方法可以告訴Android,我的應用程序可以有效地替換後退堆棧中的瀏覽器,這樣,如果後退按鈕被按下,用戶就會回到電子郵件程序,就好像瀏覽器沒有彈出首先?

在此先感謝。

回答

0

您可以使用intent filter跳過中間的整個瀏覽器。您可以註冊特定的模式以偵聽和給定的URL來啓動應用程序。這將直接啓動你的應用程序,而不是把瀏覽器放在中間。 YouTube應用程序使用類似的方法,我一定會直接在YouTube應用程序中打開視頻。 This是一個問題,可能會爲您指出實現此目標的良好方向。

+1

謝謝。我已經有了一個意向過濾器。問題在於,使用自定義「方案」(在//之前的部分)在電子郵件中不起作用。另外,由於我們可以使用應用程序連接到多個服務器,因此我們無法使用其中包含服務器主機名的意圖過濾器。這就是youtube鏈接的工作原理,因爲youtube.com位於主機中。如果我可以用URL路徑的一部分製作一個意向過濾器,那可能對我們有用。但我認爲我們不能。 –