2017-12-15 16 views
0

私は画像編集アプリケーションを開発しています。ユーザーがアクセスして使用できるように、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見つけることができません。保存された画像はギャラリー内のどこにも表示されません。それを検索した後、自分自身が格納しているアプリケーションだけが内部メモリに保存されている画像にアクセスでき、ユーザーはそれにアクセスできないことを知っています。それではどうすればいいですかビットマップイメージギャラリーがアンドロイド携帯の場合は、私はどこにでも答えを見つけることができません。

答えて

0

すべてのデバイスには外部ストレージがあります。あなたはAndroidの携帯電話の外付けストレージがメモリカード上のメモリを意味するわけではないことを間違って理解している可能性があります。それは、すべての電話会社が提供する8GB、16GB、32GBなどのメモリを意味します。したがって、その画像を外部記憶装置に保存し、後でその画像をギャラリーに追加する必要があります。

このチュートリアルの一部は、画像を保存してギャラリーに追加するのに役立ちます。

https://developer.android.com/training/camera/photobasics.html

+0

私はそれを試してみました。しかし、私がここで言及したように動作しません:https://stackoverflow.com/q/47845325/5358760 – JaySparkexel

関連する問題