私は画像編集アプリケーションを開発しています。ユーザーがアクセスして使用できるように、Androidのギャラリーに編集済みの画像を保存する必要があります。電話機のギャラリーにビットマップを追加するにはどうすればいいですか?
私はstackoverflowを参照して外部ストレージにビットマップを格納しようとしました。しかし一部のAndroid携帯電話のようなOnePlus5 外付けストレージを持たない。だから、私はこのコードを使用して電話の内部ストレージに画像を格納しようとしました。ログに保存された画像のパスを返すため、外観は完全に機能します。コードビットマップでは、編集画像のビットマップです。
ContextWrapper wrapper = new ContextWrapper(getApplicationContext());
File file = wrapper.getDir("Images", MODE_PRIVATE);
file = new File(file, "DemoImg2"+ ".jpg");
try {
OutputStream stream = null;
stream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
stream.flush();
stream.close();
}
catch (IOException e){
e.printStackTrace();
}
Uri savedImagePath = Uri.parse(file.getAbsolutePath());
Toast.makeText(getApplicationContext(), savedImagePath.toString(), Toast.LENGTH_LONG).show();
Log.i("Path:", savedImagePath.toString());
しかし、私はどこでもファイルマネージャから/data/user/0/com.packagename.blurd1/app_Images/DemoImg2.jpg見つけることができません。保存された画像はギャラリー内のどこにも表示されません。それを検索した後、自分自身が格納しているアプリケーションだけが内部メモリに保存されている画像にアクセスでき、ユーザーはそれにアクセスできないことを知っています。それではどうすればいいですかビットマップイメージギャラリーがアンドロイド携帯の場合は、私はどこにでも答えを見つけることができません。
私はそれを試してみました。しかし、私がここで言及したように動作しません:https://stackoverflow.com/q/47845325/5358760 – JaySparkexel