次のコードを使用して、ユーザーがビットマップを共有できるようにしています。
try {
File save_dir = Environment.getExternalStorageDirectory();
FileOutputStream out = new FileOutputStream(save_dir
+ "/test.jpg");
final_bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");
share.putExtra(Intent.EXTRA_STREAM,
Uri.parse("file:///" + save_dir + "/test.jpg"));
startActivity(Intent.createChooser(share,
getString(R.string.share_dialog_title)));
} catch (Exception e) {
Toast.makeText(mainActivity, "Error in sharing.",
Toast.LENGTH_LONG).show();
}
問題は、デバイスに SD カードがない場合、ファイルが保存されないことです。
アプリケーションデータディレクトリに保存すると、他のアプリケーションがアクセスできなくなるため、他のアプリがアクセスできる場所に内部ストレージに保存する良い方法はありますか?
よろしく