Häufig müssen Apps eine oder mehrere Dateien einer anderen Anwendung zur Verfügung stellen. So kann es z. B. sein, dass eine Bildergalerie Bildeditoren zur Verfügung gestellt werden soll oder eine Dateiverwaltungs-App Nutzern das Kopieren und Einfügen von Dateien zwischen Bereichen im externen Speicher ermöglichen soll. Eine Möglichkeit, wie eine sendende App eine Datei freigeben kann, besteht darin, auf eine Anfrage der empfangenden App zu antworten.
Die einzige sichere Möglichkeit, eine Datei von Ihrer App einer anderen App anzubieten, besteht immer darin, den Inhalts-URI der Datei an die empfangende App zu senden und dieser URI temporäre Zugriffsberechtigungen zu erteilen.
Inhalts-URIs mit temporären URI-Zugriffsberechtigungen sind sicher, da sie nur für die App gelten, die den URI empfängt, und laufen automatisch ab. Die Android-Komponente FileProvider
stellt die Methode getUriForFile()
zum Generieren des Inhalts-URI einer Datei bereit.
Wenn Sie kleine Mengen an Text oder numerischen Daten zwischen Anwendungen teilen möchten, sollten Sie eine Intent
mit den Daten senden. Informationen zum Senden einfacher Daten mit einem Intent
finden Sie im Kurs Einfache Daten teilen.
In diesem Kurs wird erläutert, wie Sie Dateien aus Ihrer App sicher für eine andere App freigeben. Dazu werden von der Android-Komponente FileProvider
generierte Inhalts-URIs und temporäre Berechtigungen verwendet, die Sie der empfangenden App für den Inhalts-URI erteilen.
Unterricht
- Dateifreigabe einrichten
- Hier erfahren Sie, wie Sie Ihre App für die Freigabe von Dateien einrichten.
- Dateien freigeben
- Hier erfahren Sie, wie Sie einer anderen Anwendung eine Datei anbieten, indem Sie einen Inhalts-URI für die Datei generieren, dem URI Zugriffsberechtigungen gewähren und den URI an die App senden.
- Freigegebene Datei anfordern
- Hier erfahren Sie, wie Sie eine von einer anderen App freigegebene Datei anfordern, den Inhalts-URI der Datei abrufen und den Inhalts-URI zum Öffnen der Datei verwenden.
- Dateiinformationen abrufen
-
Hier erfahren Sie, wie eine Anwendung mit einem von
FileProvider
generierten Inhalts-URI Dateiinformationen wie den MIME-Typ und die Dateigröße abrufen kann.
Weitere Informationen finden Sie hier: