3

次のコードを使用して、ユーザーがビットマップを共有できるようにしています。

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 カードがない場合、ファイルが保存されないことです。

アプリケーションデータディレクトリに保存すると、他のアプリケーションがアクセスできなくなるため、他のアプリがアクセスできる場所に内部ストレージに保存する良い方法はありますか?

よろしく

4

0 に答える 0