2016-06-07 11 views
0

Ich bin der Lage, ein Bild in der Festplatte speichern mit:Android speichern Foto auf einem Datenträger im privaten Modus

String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); 
     String fileName = imageId + ".png"; 
     String filePath = baseDir + File.separator + fileName; 

     File file = new File(filePath); 
     if(!file.exists()) 
     { 
      out = new FileOutputStream(baseDir + File.separator + fileName); 
      bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); 
     } 

Aber alle gespeicherten Bilder sind in der Galerie des Telefons .. Wie kann ich sie verstecken für den Benutzer? Gibt es einen privaten Ordner für meine Anwendung?

Dank

+0

siehe hier http://stackoverflow.com/questions/10782187/how-to-encrypt-file-from-sd-card-using-aes-in-android –

Antwort

1
public File getAlbumStorageDir(Context context, String albumName) { 
    // Get the directory for the app's private pictures directory. 
    File file = new File(context.getExternalFilesDir(
      Environment.DIRECTORY_PICTURES), albumName); 
    if (!file.mkdirs()) { 
     Log.e(LOG_TAG, "Directory not created"); 
    } 
    return file; 
} 

Ich denke, das ist das, was Sie wollen. Lesen Sie https://developer.android.com/training/basics/data-storage/files.html#WriteExternalStorage für weitere Informationen.

+0

Es scheint zu funktionieren! Vielen Dank ! –

0

Speichern Sie es im internen Speicher mit Context.getFilesDir() anstelle von Environment.getExternalStorageDirectory().

Aus der Dokumentation:

gespeicherte Dateien hier sind mit dem nur Ihre Anwendung standardmäßig.

Überprüfen Sie this link aus.

Verwandte Themen