2011-01-10 22 views
2

私のアプリケーションで電子メールにオーディオ添付ファイルを開きたいとします。現在のところ、私のインテントフィルタは次のようなものです:電子メール添付ファイルのインテントフィルタ

<intent-filter> 
     <action android:name="android.intent.action.VIEW"/> 
     <action android:name="android.intent.action.EDIT" /> 
     <action android:name="android.intent.action.PICK" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <data android:mimeType="audio/wav" /> 
     <data android:scheme="http" android:host="*" android:pathPattern=".*\\.wav"/> 
     <data android:scheme="https" android:host="*" android:pathPattern=".*\\.wav"/> 
     <data android:scheme="content" android:host="*" android:pathPattern=".*\\.wav"/> 
     <data android:scheme="file" android:host="*" android:pathPattern=".*\\.wav"/> 
</intent-filter> 

これは電子メールの添付ファイルを除いて私が望むすべてのものに対して機能します。現在私がwavファイルを送信した場合、私が行うことができるのはプレビューだけで、それはWinampで開かれます(明らかにサードパーティ製のアプリケーションがあります)。私はこれを行うために追加する必要があるものを見つけることができませんが、誰にも分かりませんか?

編集

はここでLogCatが問題に言っているものです。私はプレビュー]をクリックすると、私は奇妙な何

01-10 19:28:52.691: INFO/ActivityManager(109): Starting: Intent { dat=content://gmail-ls/messages/xxxxxxx%40gmail.com/439/attachments/0.1/BEST/false cmp=com.google.android.gm/.ViewAttachmentActivity } from pid 19483 

を取得するWinampが自動的に開くことで、デフォルトとして設定されていません。私は選択肢を与えられていません...

+0

私は確かに知っている唯一のことは、添付ファイル、コンテンツプロバイダは、ファイル名が、いくつかの英数字コードを使用していないということですので、* .WAVフィルタは、そのために動作しません。 mimetypeを代わりに使用する必要があります。 – bigstones

+0

私はすでに ''を持っています。 – fredley

+0

わかりません...私はxmlのためにこの ''を持っていました。 (category = default、action = view) – bigstones

答えて

0

メールクライアントは任意の方法で添付ファイルのMIMEタイプを選択するように思われるので、それらを開くインテントフィルタはすべての可能性を考慮する必要があります。インターネットを検索するとすべての可能なタイプを見つけるのに役立ち、audio/*のようなワイルドカードが望ましくない場合(OP saysのように)、それぞれに<data/>フィルタを追加する必要があります。とにかく、ファイル名拡張子によるフィルタリング以外の方法として、mimetypeによるフィルタリングが第1の選択肢として推奨されています(android-dev mlのthis threadを参照)。

(感謝fredley)

+0

** android:mimeType = "\ */\ *" **を使用するだけの理由 –

2

audio/wavaudio/*に置き換えると動作しますが、これは明らかに望ましくない動作です。

+2

電子メールの実際のMIMEタイプは何ですか?私はそれがクライアントに依存していることを知っています、それは 'audio/wav'として設定するのではなく、' audio/x-wav'のようなものでしょうか? – bigstones

+0

これは 'audio/x-wav'です。ありがとうございます。私はそれを受け入れることができるように答えとして書く! – fredley

関連する問題