0

次のコードがあります。

FileOutputStream out = null;

try {
out = new FileOutputStream("/sdcard/tmp/i.jpg");
b.compress(Bitmap.CompressFormat.JPEG, 90, out);
Toast.makeText(getApplicationContext(), "Succeded", Toast.LENGTH_LONG).show();
} catch (Exception e) {
 Toast.makeText(getApplicationContext(), "Failed", Toast.LENGTH_LONG).show();
}

Intent share = new Intent(Intent.ACTION_SEND);

share.setType("image/jpeg");    

share.putExtra(Intent.EXTRA_STREAM, Uri.parse("/sdcard/tmp/i.jpg"));

startActivity(Intent.createChooser(share, "Share image"));

呼び出されると、すべて正しく機能します。ファイルが保存され、セレクターがポップアップします。しかし、選択したアクティビティに到達すると、その画像を追加できないというメッセージが表示されます。GMail を除いて、正常に動作します。それで、これを修正するために一体何をしますか?

4

1 に答える 1

1

を閉じるコードが表示されませんFileOutputStream。多分これが問題の理由ですか?out.close()画像を保存してから呼び出してみてください。

アップデート:

また、完全なイメージ パスを使用してみてください。つまり、次のようにしてみてください。

share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/tmp/i.jpg"));
于 2010-11-20T19:07:03.343 に答える