Ich bin auf einem wirklich kniffligen Problem fest. Kontext: Meine App ist zum Öffnen von Dateien mit einer speziellen Erweiterung (z. B. myFile.png.myapp)Dateien heruntergeladen haben keine Erweiterung auf einigen Geräten
Wenn ich es von meinem Server mit Chrome herunterladen, wird es gut herunterladen und ich bekomme eine "open" -Prompt und löst meine App, aber der Pfad in der Absicht ist in der Form content: // downloads/my_downloads/2136.
Keine Erweiterung.
Aus verschiedenen Gründen kann der einzige MimeType, den ich senden kann, application/octet-stream sein, also kann ich nicht wissen, dass diese Datei tatsächlich ein PNG ist.
Wenn ich auf die Benachrichtigung klicke, dass die Datei heruntergeladen wird, funktioniert es gut.
Das passiert nur im Moment auf Nexus 5 mit Android 6.0.1, auf jedem anderen Gerät, bekomme ich den tatsächlichen Dateinamen und es läuft reibungslos.
Ich habe sowohl Manifest als auch in App-Berechtigungen eingerichtet.
Meine Untersuchung führt mich zu der Annahme, dass es an der Helpers-Klasse im DownloadProvider-Paket liegt, aber ich bin mir nicht sicher.
Kann jemand helfen?
Prost
Danke, aber wie gesagt, die Mimetype immer application/octet-stream sein, so dies keine zusätzliche Informationen gibt. – Tom
Nein. Sie sagten 'der einzige MimeType, den ich senden kann, ist application/octet-stream'. Und das Senden ist etwas anderes als das Bestimmen, wie es hier gemacht wird. Wenn Chrome also herunterlädt, was senden Sie dann? – greenapps
Aber Sie können DocumentFile für die uri und dann DocumentFile.getName() verwenden, die Ihnen den ursprünglichen Dateinamen gibt. – greenapps