1

添付されたインテントのファイル拡張子を設定することはできますか?

このコードは私にとっては機能しますが、添付された画像には flag_be のようなファイル名があり、私が推測する拡張子がないため、受信メールクライアントによって画像として認識されません。添付ファイルは有効であり、名前を変更するだけで破損することはありません。

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is my text");
emailIntent.putExtra(Intent.EXTRA_SUBJECT,"This is the subject!");
emailIntent.setType("image/png");

ArrayList<Uri> uris = new ArrayList<Uri>();
uris.add(Uri.parse("android.resource://" + getPackageName() + "/drawable/flag_be"));

emailIntent.putExtra(Intent.EXTRA_STREAM, uris);

startActivity(emailIntent);

次のような賢いことをしようとするとすぐに失敗します。

uris.add(Uri.parse("android.resource://" + getPackageName() + "/drawable/flag_be.png"));
uris.add(Uri.parse("android.resource://" + getPackageName() + "/drawable-xhdpi/flag_ag.png"));

等...

Android の Gmail クライアントが添付ファイルの送信に失敗します。

私は何かを逃しましたか?

よろしく、 ヤン

4

1 に答える 1

0

このようにリソースを共有する方法はありません。最初に sdmedia にコピーする必要があります。その後、ファイル名を設定できます。または ContentProvider を使用します。

于 2013-05-02T10:11:38.513 に答える