Android Probleme mit FileProvider

jackie05

Mitglied
Hallo,
ich habe in Google-Play eine App und bei einigen Geräten z.B. mit Android Version 4.4.4 gibt es Probleme mit FileProvider.

Hier ist mal der Code:
Java:
public static void showSendDialog(Activity activity, ArrayList<Uri> files, String type) {
   final Intent shareIntent = new Intent(Intent.ACTION_SEND);
   shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
   shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
   shareIntent.setType(type);

   for (int i=0; i<files.size(); i++) {
      Uri uri = FileProvider.getUriForFile(activity, "de.test.app.provider", new File(files.get(i).getPath()));
      files.set(i, uri);
   }
   shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, files);
   activity.startActivity(Intent.createChooser(shareIntent, "Senden via"));
}
Mit diesem Quellcode wird ein Senden-Dialog geöffnet und Dateien mit angehängt.
Leider klappt das nicht bei ältere Android-Versionen, also die Dateien können irgendwie nicht angehängt bzw. gefunden werden, seit ich FileProvider mit eingebaut habe.

Bei den neueren Android Versionen wie z.B. 8.0 klappt das ohne FileProvider nicht, deshalb habe ich FileProvider mit eingebaut.

Wie könnte ich das Problem denn lösen, damit es auf allen Geräten funktioniert?

Ich bedanke mich schon mal im Voraus.

Gruss
 
Hi.

Wenn ich mich recht entsinne ist FileProvider erst ab API 21+ verfügbar.

Für ältere Geräte verwende z. B Uri. Aber Google sollte da auch aushelfen können.

Im Code kannst du dann unter API 21+ die Methode mit FileProvider verwenden und ansonsten die andere Variante.

P.S ich würde schon gar nicht 4.4 unterstützen.

Grüße
 

Zurück
Oben