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 が自動的に開き、デフォルトとして設定されていないことです。選択の余地はありません...

4

2 に答える 2

2

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

于 2011-01-10T20:11:47.200 に答える
0

電子メール クライアントは、添付ファイルの MIME タイプを恣意的な方法で選択しているように見えるため、それらを開くインテント フィルターはあらゆる可能性を検討する必要があります。インターネットを検索すると、可能なすべてのタイプを見つけるのに役立ちます<data/>。ワイルドカードのようなものaudio/*が必要ない場合は、それぞれにフィルターを追加する必要があります(OPが言うように)。

とにかく、MIME タイプによるフィルタリングは、ファイル名拡張子によるフィルタリング以外の最初の選択肢として提案されています ( android-dev ml のこのスレッドを参照してください)。

(ありがとうフレドリー)

于 2011-01-11T14:44:20.530 に答える