diff --git a/android_app/app/src/main/AndroidManifest.xml b/android_app/app/src/main/AndroidManifest.xml
index f877960c..2b0e092b 100644
--- a/android_app/app/src/main/AndroidManifest.xml
+++ b/android_app/app/src/main/AndroidManifest.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmBackupHandler.java b/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmBackupHandler.java
index 41aa5724..fdf99916 100644
--- a/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmBackupHandler.java
+++ b/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmBackupHandler.java
@@ -91,8 +91,7 @@ public class AlarmBackupHandler
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
- // TODO to disable in the AndroidManfiest the requestLegacyExternalStorage on SDK >= 29 we need store the files on shared storages
- File exportDir = new File(Environment.getExternalStorageDirectory(),
+ File exportDir = new File(context.getExternalFilesDir(null).getPath(),
prefs.getString("exportDir", "openScale Backup"));
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
return;
diff --git a/android_app/app/src/main/java/com/health/openscale/gui/preferences/BackupPreferences.java b/android_app/app/src/main/java/com/health/openscale/gui/preferences/BackupPreferences.java
index 3425a854..c87a8017 100644
--- a/android_app/app/src/main/java/com/health/openscale/gui/preferences/BackupPreferences.java
+++ b/android_app/app/src/main/java/com/health/openscale/gui/preferences/BackupPreferences.java
@@ -15,11 +15,14 @@
*/
package com.health.openscale.gui.preferences;
+import static android.app.Activity.RESULT_OK;
+
import android.content.ComponentName;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
@@ -38,8 +41,6 @@ import com.health.openscale.gui.utils.PermissionHelper;
import java.io.IOException;
-import static android.app.Activity.RESULT_OK;
-
public class BackupPreferences extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener {
private static final String PREFERENCE_KEY_IMPORT_BACKUP = "importBackup";
private static final String PREFERENCE_KEY_EXPORT_BACKUP = "exportBackup";
@@ -146,7 +147,9 @@ public class BackupPreferences extends PreferenceFragmentCompat implements Share
private class onClickListenerExportBackup implements Preference.OnPreferenceClickListener {
@Override
public boolean onPreferenceClick(Preference preference) {
- if (PermissionHelper.requestWritePermission(fragment)) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ exportBackup();
+ } else if (PermissionHelper.requestWritePermission(fragment)) {
exportBackup();
}
@@ -208,6 +211,7 @@ public class BackupPreferences extends PreferenceFragmentCompat implements Share
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
+ intent.putExtra(Intent.EXTRA_TITLE, "openScale.db");
intent.setType("*/*");
startActivityForResult(intent, EXPORT_DATA_REQUEST);