2010-12-06 7 views
2

私は非常に標準的なコードを使用してアプリケーションから画像を送信しています。ユーザーがデフォルトのメッセージングアプリが選択肢に表示されないというメールを私に送信しました。奇妙なことに、電話でも同じことが起こります。私はその意図のMIMEタイプで遊んでいました。 "text/plain"には、マイメッセージアプリを含む一連のオプションが表示され、"*/*"にはトンが表示されます。 MIMEタイプを"*/*"に設定するのは怠惰でしょうか?ユーザーが画像を送信するオプションでなければならないアプリケーションによってフィルタリングされませんか?それとも、それはかなり行く方法ですか?私は好きではない。このMIMEタイプとACTION_SENDインテントチューザー

 Intent intent = new Intent(Intent.ACTION_SEND); 
     intent.setType("image/jpeg"); 
     Uri uri = Uri.fromFile(file); 
     intent.putExtra(Intent.EXTRA_STREAM, uri); 
     activity.startActivity(Intent.createChooser(intent, "Custom Heading...")); 

1つの副作用は、いくつかのアプリケーション(Facebookの、Handcent)は、様々なMIMEタイプを送信するために登録された複数のインテントを持っているということですので、彼らはかつて場合よりもリストに表示しますMIMEタイプは"*/*"です。

答えて

4

あなたのMIMEタイプを処理するメッセージングに建てられ、それは、プラットフォーム固有の問題になることがあります。

 <intent-filter> 
      <action android:name="android.intent.action.SEND" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:mimeType="image/*" /> 
     </intent-filter> 

Check out the source for all the mime types that are handled