2009-07-09 49 views
1

我希望我的應用能夠捕獲特定類型文件的下載。 這裏的AndroidManifest.xml的相應部分:抓文件下載?

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

     <activity android:name=".activity.ExeReceiver"> 
      <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="http" /> 
       <data android:host="*" /> 
       <data android:pathPattern=".*\\.exe" /> 
      </intent-filter> 
     </activity> 

現在,打開一個網頁鏈接到一個.exe文件,點擊它。下載管理器啓動,然後告訴手機上不支持該內容。我的活動甚至沒有被調用。

的問題是:

1)爲什麼我的活動被調用?

2)讓下載管理器完成它的工作然後在文件下載完成時得到通知的正確方法是什麼?

TIA。

回答

1

作爲測試,嘗試替換<data android:host="*" />通配符:

  • 一個真正的通配符(".*"),或
  • 你對測試實際的服務器名稱,或
  • 移除整個<data android:host="*" />元素

如果實際的服務器名稱有效並且通配符不起作用,那麼這是有道理的,就文檔而言不說你可以使用通配符android:host。但是,如果刪除整個元素失敗,我不知道如何從任意主機捕獲文件。希望第一或第三顆子彈能夠解決你的問題。

+0

謝謝。現在我已經知道了,我可以說1不起作用。 – yanchenko 2009-07-09 14:09:37