2014-06-19 32 views
0

我試圖實現一個意圖過濾器,但出於某種原因(我不知道)可以成功。從瀏覽器中打開現有或新的活動

我宣佈以下列方式活動:

<activity 
    android:name="com.example.StartActivity" 
    android:label="@string/start_activity_title" 
    android:windowSoftInputMode="adjustPan" 
    android:exported="true"> 

    <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="myapp" 
      android:host="terms-signed.com" 
      android:pathPrefix="/?"/> 
    </intent-filter> 
</activity> 

瀏覽器嘗試打開的URI像myapp://terms-signed.com/?documentKey=SOME-HEX

無論我是否在瀏覽器地址欄,或者如果把這樣的URI我在一個類似的挖掘鏈接在HTML頁面中,沒有任何反應。

沒有顯示選擇器,我的應用程序並不是最重要的,如果Android沒有運行,它不會啓動我的應用程序。沒有。只有瀏覽器顯示帶有消息的頁面,該地址的網頁可能會暫時關閉等。

我正在使用Android 4.2.1/Galaxy Nexus。

可以做些什麼來完成這項工作?

回答

1

從pathPrefix中刪除?,它不是路徑的一部分。也許你甚至可以刪除整個pathPrefix參數,因爲在主機之後沒有任何路徑。

編輯2:正如在評論中可以看出,另外從主機聲明中刪除連字符和.com解決了問題。我最好的猜測是瀏覽器會將URI視爲Web URI,因爲它是.com,無論它是否使用自定義方案。

+0

不幸的是,它沒有幫助。我試圖刪除'?'和'pathPrefix' - 沒有任何改變。 – Bobrovsky

+0

在我的答案中增加了一些額外的想法,也許他們會幫助 – tknell

+0

謝謝,但這也不起作用。我一定在做一些非常錯誤的事情。 – Bobrovsky

相關問題