2014-05-20 22 views
1

我在我的應用程序中定義了以下intent過濾器,以便它響應url鏈接。做一個鏈接到一個網址啓動我的應用程序,而不是打開嵌入式

 <intent-filter> 
      <data android:scheme="http"/> 
      <data android:scheme="https"/> 
      <category android:name="android.intent.category.DEFAULT"/> 
      <category android:name="android.intent.category.BROWSABLE"/> 
      <action android:name="android.intent.action.VIEW"/> 
     </intent-filter> 

現在,當我點擊一個外部應用程序的鏈接(例如從通過短信發送的鏈接),它會打開我的應用程序在當前應用的內嵌方式。這意味着如果我去後臺,我會在短信應用程序中看到我的應用程序。 我想讓鏈接使我的應用程序單獨打開。這是正確的行爲,例如在選擇chrome/android本機瀏覽器作爲應用程序打開鏈接時發生。

有沒有辦法改變我的應用程序呢?

回答

0

您必須將您的活動的launchMode設置爲singleTasksingleInstance。這將迫使系統爲您的應用程序開啓一項新任務,而不是像短信應用程序或其他任務一樣打開它。

它應該以某種方式是這樣的:

 
<activity android:name="yourActivity" 
      android:launchMode="singleTask"> 
</activity> 

有關詳細信息,請參閱文檔:http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

+0

我不想改變應用程序的啓動模式。檢查了幾個已知的瀏覽器清單,並看到它們使用常規啓動模式。但是,該鏈接仍然會在新流程中打開其應用,而不是嵌入 – morang

相關問題