[英]Android app with custom URL scheme launching from within Chrome?
我從Eclipse向導創建了一個基本的Android應用程序。 然后,在現有的Intent過濾器之后,將以下intent過濾器添加到AndroidManifest.xml中 。 這使它支持自定義的“sample://”URL方案:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="sample" />
</intent-filter>
如果我運行Chrome或默認瀏覽器,然后單擊“ sample://”鏈接,它將啟動我的應用程序。 但是,如果我查看任務切換器,我的應用程序未列出。 而是顯示了Chrome,並顯示了我的應用程序的屏幕截圖。
為什么是這樣? 可以修復嗎? 我在Galaxy Nexus手機上運行Android 4.2.2。
我注意到,如果將android:launchMode="singleInstance"
到活動中,它將在單獨的應用程序中打開。 但文檔稱這是“不推薦用於一般用途”。 為什么不?
您的Activity之所以在Chrome的“最新應用”中顯示,是因為它現在屬於Chrome任務,因為它是從那里啟動的。
正如您注意到android:launchMode="singleInstance"
解決了您的問題,但不建議或不鼓勵它,因為它會android:launchMode="singleInstance"
用戶體驗和導航以及用戶期望您的應用程序的行為方式。
幸運的是,我認為可以在HREF
中指定Intent標志的方法,請嘗試如下操作:
<A HREF="intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=com.example.package/.MyActivity;end" />
在前面的示例中, launchFlags=FLAG_ACTIVITY_NEW_TASK
。 此標志通常由想要呈現“啟動器”樣式行為的活動使用:它們為用戶提供可以完成的單獨事物的列表,否則完全獨立於啟動它們的活動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.