2012-12-07 55 views
2

我的Android應用程序應該與我們的網站進行交互以進行一些流式傳輸。如果用戶沒有安裝應用程序,我們會提供一個網頁通知應用程序和鏈接以下載它。Android Intent-filter未在某些設備上使用android:scheme註冊

信息頁面位於:http://my.site.no/android

而且所有的鏈接都與這個信息頁面前綴:http://my.site.no/android?url=http://something.to.stream

在我已經宣佈了下述意圖過濾器的應用程序:

<intent-filter> 
    <data android:scheme="http" android:host="my.site.no" android:pathPrefix="/android" /> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
</intent-filter> 

這適用於大多數設備..但是一些(特別是三星Galaxy SIII的)拒絕註冊這個意圖過濾器。即使安裝了應用程序,用戶也始終登錄信息頁面。這不僅發生在標準瀏覽器上,而且還發生在同一設備上的其他瀏覽器(如Firefox和Chrome)上。在拒絕註冊意圖的設備上沒有「默認應用」設置。

任何想法可能是錯誤的?或者如何嘗試調試以找到原因?

+0

它也看起來像海豚瀏覽器不會發送意圖時,URL的形式。我的HTC Desire沒有使用Dolphin觸發該應用程序,但在本機瀏覽器上運行良好。 –

回答

0

可能您需要爲方案「https」註冊另一個。我遇到了一些應用程序的問題,並解決了這個問題。

+0

感謝您的回覆。這不能解決我們的問題。我可以提到從gmail點擊的原始網址(http://my.site.no/android?url=http://something.to.stream)在這些設備上觸發應用程序。所以這是瀏覽器和http/https方案。 –

0

有類似的問題。在我的情況下,這是由於在AndroidManifest.xml中意外設置了

android:exported="false" 

引起的。似乎有些設備/ Android版本尊重這個標誌,有些則不。在我的情況下,它在HTC Sensation(Android 4.0.3)上工作,但不是在HTC One X(Android 4.1.1)或三星Galaxy S III(Android 4.1.2)上。