2016-04-03 7 views
0

私はこの方法を使用してビットマップファイルを変換し、これらの画像をデータベースに入れます。私はこのフォルダ "my_app"がギャラリーに表示されないようにします。私は何をしますか?! どのソリューションでもメディアを使用しないでください!私のアプリケーションの画像をギャラリーから隠す(exectを使用する.nomedia)

public File bitmapConvertToFile(Bitmap bitmap){ 
    FileOutputStream fileOutputStream = null; 
    File bitmapFile = null; 
    try { 
      File file = new File(Environment.getExternalStorageDirectory()+"/my_app/"); 
     if (!file.exists()){ 
      file.mkdir(); 
     } 
     bitmapFile = new File(Environment.getExternalStorageDirectory()+"/my_app/"+"today_picture.jpg"); 
     fileOutputStream = new FileOutputStream(bitmapFile); 
     bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fileOutputStream); 
     MediaScannerConnection.scanFile(this, new String[]{bitmapFile.getAbsolutePath()}, null, new MediaScannerConnection.MediaScannerConnectionClient() { 
      @Override 
      public void onMediaScannerConnected() { 

      } 

      @Override 
      public void onScanCompleted(String path, Uri uri) { 
       runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         Toast.makeText(CropImage.this,"saved", Toast.LENGTH_LONG).show(); 
        } 
       }); 
      } 
     }); 
    } 
    catch (Exception e){ 
     e.printStackTrace(); 
    } 
    finally { 
     if (fileOutputStream != null){ 
      try { 
       fileOutputStream.flush(); 
       fileOutputStream.close(); 
      } 
      catch (Exception e){ 

      } 
     } 
    } 
    return bitmapFile; 
} 

答えて

1

の代わりに、これは何

File file = new File(Environment.getExternalStorageDirectory()+"/my_app/"); 

使用

File file = new File(getFilesDir()+"/my_app/"); 

を使用して、それはあなたのものを除き、他のアプリがアクセスすることができないように、それはアプリ内のファイルを保存しています。

したがって、あなたの2領域マップファイルには、内部ストレージにあなたの写真を保存する必要があり、このために

bitmapFile = new File(getFilesDir()+"/my_app/"+"today_picture.jpg"); 
0

になります。 私はこれを使用して、これは私のために働いています。

public void saveProfilePic(Context context, Bitmap bitmap) { 
     if (bitmap != null) { 
      try { 
       FileOutputStream out = new FileOutputStream(context.getFilesDir().getPath() + "/user_pic.png/"); 
       bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); 
       out.close(); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    } 
関連する問題