2011-04-13 10 views
2

にウェブからファイルをダウンロードする際の活動をオフに解雇するインテントフィルタを設定します。私はそれはむしろ私のMainActivityをオフ発射(あるいは私はそれで何をすべきかを求める)よりも、SDカードにダウンロードされbroswerで、ファイルのダウンロード]ボタンをクリックしアンドロイド:問題は、私は、ブラウザのウィンドウからファイルのダウンロードに応じて開始されるアクティビティを取得し、問題が生じていますブラウザ

私は、ファイルエクスプローラを使ってSDカード上のファイルを見つけて、私のMainActivityが開始され、それを選択した場合。

フィルタのインテントの仕組みを誤解しましたか?私はPC上でwiresharkを使ってダウンロードファイルのMIMEタイプを確認して、それが期待どおりであることを確認しました。

[PathPatternを削除してmimeの種類をそのまま使用すると、ダウンロードボタンを押すと、デバイスにこのファイルを処理するための何もないというメッセージが表示されますが、ダウンロードは続行しますか。]

助けていただければ幸いです。ここで

は私のマニフェストからのエントリです:私はpathPatternをダンプするでしょうが

<activity android:name=".activity.main.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:mimeType="application/xml-mydata" 
       android:pathPattern=".*\\.mydata" /> 
    </intent-filter> 
    </activity> 
+1

OK、それは今、すべてでは動作しない程度(commonswareに)私の以前のコメントはDownloadManager詳細ESPビットを読んincorrect.Beenたファイルのダウンロードを削除し、私は私が見てい行動が正しいと思われます。つまり、ボタンをクリックしてWebサイトからファイルをダウンロードすると、downloadMangerはファイルをダウンロードしてSDカードに保存します。ファイルエクスプローラでファイルが選択されると、私のアプリケーションはインテントを受け取るだけです。だから私は今、BROWSABLEカテゴリーがパーティーにもたらすものに混乱している。ダウンロード可能なファイルに対して自動的にアクティビティを起動することは可能ですか? – malcooke

+0

あなたはこれを行う方法を見つけましたか? – cottonBallPaws

答えて

0

は、概念的には、あなたが持っているもの、罰金です。 Here is a sample projectであり、これらの種類の要素は、<intent-filter>です。

あなたのMIMEタイプに有効な構文があることを確認します。ダッシュが許可されていれば私は頭の上を忘れる。 pathPatternでOK

+0

ダッシュは、MIME構文の一部として許可されているようです(いくつかの例については、http://www.iana.org/assignments/media-types/index.htmlを参照してください)。 pathPatternなしで試してみて、タイプがどこでもサポートされているとは認識されません。 – malcooke

+0

@malcooke:サンプルアプリを試してみるだけです。それがうまくいけば - それは私が試した最後の時間でした - あなたは私が持っているものと異なる場所を決定するために開始する必要があります。例えば、あなたがWiresharkで捕まえていないMIMEタイプには、何か微妙に間違ったことがあります。 – CommonsWare

+0

私はあなたのサンプルアプリケーションを設定しました、そして、私のアプリが動作するのと同じように動作するようです。つまり、ファイルがダウンロードされたときにpdfビューアから自動的に起動されませんでした。私が見ている動作は、ファイルがダウンロードされ、通知からファイル名を選択するとpdfリーダーが起動されるということです。私が望んでいるhtc senseの特徴ではないことを確かめるために、私はエミュレータで同じ試行を繰り返しました。これは通常の作業方法でしょうか? – malcooke