2013-05-02 51 views
0

我做了一個測試Android應用程序,我試圖在瀏覽器點擊URL「blargh:// yolo」時啓動。但它不起作用;相反,瀏覽器只是做一個谷歌搜索。從URL不起作用啓動意圖

這是一個由Eclipse/ADT創建的全新項目;我編輯的唯一的事情就是清單,低於:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.testurlscheming" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-permission android:name="android.permission.INTERNET"/> 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.testurlscheming.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 

      <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="blargh" /> 
      </intent-filter> 

     </activity> 
    </application> 

+1

你是如何測試的?如果您在地址欄中輸入「blargh:// yolo',那不是有效的測試。如果你點擊鏈接到「blargh:// yolo」的網頁中的鏈接,那*就是一個有效的測試。 – CommonsWare 2013-05-02 22:11:40

+0

您也沒有任何與您的網址「模板」類似的內容,因此它會以這種方式捕獲任何網址。 – 2013-05-02 22:14:48

+0

@CommonsWare只是鍵入測試,將嘗試鏈接並在第二次報告 – AlcubierreDrive 2013-05-02 22:17:50

回答

1

某些Web瀏覽器,如AOSP瀏覽器應用程序,區別對待的地址欄比它的超鏈接。超鏈接通過檢查誰處理該URL的ACTION_VIEW。地址欄被假定爲與瀏覽器應用程序相關的內容;如果它不能識別它,則進行搜索,就像輸入了blargh yolo一樣。

你知不知道它是否從重定向工作?

我希望如此。但是,這可能依賴於瀏覽器。我希望瀏覽器製造商能夠追隨瀏覽器的領先地位(隨着時間的推移,Chrome),但這並不能保證。

+0

請注意未來的讀者:該計劃必須在您的清單中以小寫字母列出,因爲瀏覽器在啓動該意圖之前低估了該計劃。這讓我感到沮喪,直到現在還沒有結束。 – AlcubierreDrive 2013-05-02 23:13:21