Hallo zusammen,
Ab Android 11 muss ja Scoped Storage verwendet werden.
Wie erstelle ich eine zip - Datei mit meiner App, welche dann in z.B. Documents gespeichert wird?
Die .txt. Dateien welche gezippt werden sollen liegen im internen App Speicher
Zip Dateien erstellen kann ich, aber ich bringe es nicht hin die Zip - Datei über "Scoped Storage" im
öffentlichen Ordner "Downloads" zu speichern.
Wäre Dankbar für jede Hilfe...
Grüße
Hermann
Code
@Override
public void onClick(View v) {
String dateiname="Backup.zip";
Intent intentm = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intentm.addCategory(Intent.CATEGORY_OPENABLE);
intentm.setType("application/zip");
intentm.putExtra(Intent.EXTRA_TITLE, dateiname);
someActivityResultLauncher.launch(intentm);
}
Alles anzeigen
Code
private void createDocument(Uri uri) throws FileNotFoundException {
String inputPath1 = getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getAbsolutePath();
String inputFile = "Backup_Stromverbrauch.zip";
String []s=new String[1];//String Array, Anzahl Dateien z
s[0] = inputPath1 + "/Test.txt";
try {
ParcelFileDescriptor fileDescriptor = this.getContentResolver().openFileDescriptor(uri, "w");
FileOutputStream fileOutputStream =
new FileOutputStream(fileDescriptor.getFileDescriptor());
// document.writeTo(fileOutputStream);
ZipManager zipManager = new ZipManager();
zipManager.zip(s, String.valueOf(fileOutputStream) /*+ "/" + inputFile*/);
Toast.makeText(MainActivity.this,"Zip - Datei wurde erstellt.", Toast.LENGTH_LONG).show();
} catch (Exception e) {
}
Alles anzeigen