2012-01-06 7 views
4

私は自分のアンドロイドアプリケーションを持っており、ユーザーが特定のタイプのURIをクリックするたびにブラウザインテントを聞きます。具体的には、トレントファイル(i.G. http://somewhere/file.torrent)を指すハイパーリンクをユーザーがクリックしたときにアプリケーションを開きたい。アンドロイドウェブブラウザでのキャッチ/リッスンの方法

 <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:mimeType="application/x-bittorrent" 
       android:scheme="http" /> 
     </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:host="*" 
       android:pathPattern=".*\\.torrent" 
       android:scheme="http" /> 
     </intent-filter> 

これは、ハイパーリンクポイントとしてだけでなく、長いファイルの場所を働く:

は自分のアプリケーションのAndroidManifest.xmlからの私の意図フィルターの下を参照してください。 BUT - URLがファイルを直接指していることがあり、このリンクのようなIDの種類に基づいてダウンロードするファイルをサーバーが返すように解釈される場合があります。http://www.mininova.org/get/13202308が返されます。その場合、私のインテントフィルタは機能せず、アンドロイドブラウザは、自分のアプリを開いてファイルURIを持つインテントを渡す代わりに、ファイルをダウンロードします。

誰かがファイルURIを取得する手掛かりを持っていますか?

おかげ

答えて

1

そのような場合には、それらの例には、HTTPレスポンスヘッダContent-disposition:

attachment;filename=file.torrentなどを持っている可能性があるブラウザでも意思をスローしないことも可能です。

関連する問題