2009-07-09 6 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。試験として

答えて

3

<data android:mimeType="*/*"/> 

部分が必要とされて判明します。 Android Developers Groupsによれば、ファイルは手動でダウンロードする必要がありますUri: getIntent().getData()

1

、と<data android:host="*" />にワイルドカードを交換してください:

  • 本物のワイルドカード(".*")、または
  • あなたがに対してテストしている、または
  • は、その全体を削除し、実際のサーバー名<data android:host="*" />要素

実際のサーバー名が機能し、ワイルドカードがそうでない場合は、ドキュメントが行う限りandroid:hostにワイルドカードを使用できるとは言えません。しかし、要素全体を削除しても失敗する場合は、どのようにして任意のホストからファイルをキャッチできるかわかりません。うまくいけば、最初または3番目の箇条書きはあなたの問題を解決するでしょう。

+0

ありがとうございました。今私はそれを理解したので、私は1が動作しないことが分かります。 – yanchenko

関連する問題