Announcement

Collapse
No announcement yet.

Probleme Dateien zu speichern ab Android 11

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme Dateien zu speichern ab Android 11

    Hallo zusammen.
    Ich habe ein Problem Dateien zu erstellen, seit Android 11 und erhalte immer folgende Fehlermeldung:
    Code:
    java.io.FileNotFoundException: /storage/emulated/0/Download/Test.xls: open failed: EEXIST (File exists)
    Die Fehlermeldung besagt, das diese Datei bereits existiert, was aber nicht der Fall ist.
    In dem Ordner ist diese Datei nicht vorhanden.

    Aber mir ist aufgefallen, wenn ich den Dateinamen verwende, diese ich schonmal verwendet habe, dann geht es nicht.
    Wenn ich ein anderen Namen verwende, dann geht es eine Zeitlang und irgendwann dann auch nicht mehr, selbst wenn die Datei gelöscht wurde.

    In der Manifest Datei habe ich folgendes hinzugefügt:
    Code:
    android:requestLegacyExternalStorage="true"
    In meiner App benutze ich eine Lib, um Excel Datei zu erstellen "jxl.jar" und hier kommt der Fehler:
    Code:
    WritableWorkbook workbook = Workbook.createWorkbook(file);
    Code:
    java.io.FileNotFoundException: /storage/emulated/0/Download/Test.xls: open failed: EEXIST (File exists)
    Bei Android Version < 11 oder < 10 ging noch alles.
    Habe die App Gradle etwas aktualisiert und die Ziel Android Version auf 30 gestellt:
    Code:
    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 30
        buildToolsVersion "30.0.2"
        defaultConfig {
            applicationId "de.chris.test"
            minSdkVersion 16
            targetSdkVersion 30
            versionCode 3
            versionName "2.0"
            multiDexEnabled true
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                lintOptions {
                    checkReleaseBuilds false
                    // Or, if you prefer, you can continue to check for errors in release builds,
                    // but continue the build even when errors are found:
                    abortOnError false
                }
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    configurations {
        all*.exclude group: 'com.google.guava', module: 'listenablefuture'
    }
    
    dependencies {
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })
        implementation 'androidx.appcompat:appcompat:1.2.0'
        implementation 'com.google.android.material:material:1.3.0'
        implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
        implementation 'androidx.mediarouter:mediarouter:1.0.0'
        implementation 'com.google.code.gson:gson:2.8.2'
        implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
        implementation 'com.squareup.retrofit2:retrofit:2.3.0'
        implementation 'com.google.android.gms:play-services-ads:17.1.1'
        implementation 'androidx.recyclerview:recyclerview:1.0.0'
        implementation 'com.android.support:multidex:1.0.3'
        implementation 'com.google.firebase:firebase-core:17.0.1'
        implementation 'com.google.firebase:firebase-messaging:19.0.1'
        // Add the In-App Messaging dependency:
        implementation 'com.google.firebase:firebase-inappmessaging-display:18.0.2'
        implementation "android.arch.work:work-runtime-ktx:1.0.0-beta01"
        // Test helper
        androidTestImplementation "android.arch.work:work-testing:1.0.0-beta01"
        testImplementation 'junit:junit:4.+'
    
        implementation 'org.apache.poi:poi:3.17'
    }
    
    apply plugin: 'com.google.gms.google-services'
    Kann mir da wer helfen, warum ich Probleme habe, Dateien zu erstellen bei den neueren Android Versionen?

    Ich bedanke mich schon mal für die Hilfe.

    Gruß
    Chris

  • #2
    https://stackoverflow.com/questions/...sts-android-11
    Christian

    Comment


    • #3
      Super, da war ich heute schon mal drauf aber eines nicht beachtet:
      Code:
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
          if(Environment.isExternalStorageManager())
          {
      
          }
          else
          {
              Intent permissionIntent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION);
              startActivity(permissionIntent);
          }
      }
      Jetzt funktioniert es endlich und vielen Dank für die schnelle Hilfe.

      Gruss

      Comment

      Working...
      X