簡體   English   中英

Android-意圖過濾器,用於鏈接到瀏覽器外部打開的應用程序

[英]Android - intent filter for link to open app OUTSIDE of browser

我已成功在Android應用程序中設置了一個意圖過濾器,以根據有關此主題的眾多SO帖子之一從移動瀏覽器中打開該應用程序。

但是,問題是本機應用程序正在瀏覽器中打開,而我希望它在一個單獨的應用程序進程中在瀏覽器的外部打開。

通過WITHIN,我的意思是當我按下最右邊的“活動應用程序”按鈕查看正在運行的程序時,我看到我當前的應用程序仍是瀏覽器應用程序,並且沒有打開名為MyApp的單獨應用程序。 就像瀏覽器將我的本機應用程序嵌入其中一樣,因此瀏覽器正在執行我的應用程序進程。

另外,我的意思是,我希望在按下鏈接后能夠看到兩個活動的應用程序正在運行:(1)啟動我的瀏覽器應用程序(2)MyApp應用程序。

這是我在AndroidManifest.xml中設置的意圖過濾器:

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

    <data android:scheme="myapp" android:host="mypath" />
</intent-filter>

我從瀏覽器中打開的網頁使用以下鏈接:

<a href="myapp://mypath">Open app</a>

如何強制應用打開瀏覽器的外部? 需要注意的是,當應用啟動時,我看不到其他應用看到的“應用選擇器”。

通過WITHIN,我的意思是當我按下最右邊的“活動應用程序”按鈕查看正在運行的程序時,我看到我當前的應用程序仍是瀏覽器應用程序,並且沒有打開名為MyApp的單獨應用程序。

您的活動是在瀏覽器的Task中啟動的。

好像瀏覽器將我的本機應用程序嵌入其內部並且其本身正在執行我的應用程序過程。

那不是正在發生的事情。

如何強制應用打開瀏覽器的外部?

如果您要讓活動顯示在單獨的任務中...理想情況下,默認情況下會發生這種情況。 我很驚訝瀏覽器在開始活動時沒有添加FLAG_ACTIVITY_NEW_TASK

話雖這么說, <activity>元素上的android:launchMode="singleTask"應該會為您提供所需的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM