Da KitKat die URIs von Pflücker Größen wieNew KitKat URIs reagieren nicht auf Intent.ACTION_VIEW
content://com.android.providers.media.documents/document/image:3951
dann keiner meiner ACTION_VIEW Absichten arbeiten mehr geändert hat. Wenn zum Beispiel Benutzer ein Bild aufnimmt, verwende ich
public static void openImage(Fragment f, Uri uri) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "image/*");
f.startActivity(intent);
}
und Android Gallery und Google+ Fotos kommen, aber wenn sie ausgewählt wird, die Galerie zeigt nur leere Bildschirme, sagt Fotos
Das „Medium nicht gefunden“ gleiche mit Sounds, ich bin
public static void playSound(Fragment f, Uri uri) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "audio/*");
f.startActivity(intent);
}
, die mit dem kleinen weißen spielen Dialog UI zeigen Google, die in früheren Versionen Play Music verwendet zu verwenden, verwendet. Mit den neuen URIs bekomme ich die Ausnahme, dass keine App diese Absicht verarbeiten kann.
// Mit Fotos, die lustige Sache ist, dass, wenn Sie Galerie anstelle der Bilder in der neuen KK Picker UI wählen, gibt es die alten URIs, die funktionieren.
Irgendwelche Ideen? Sind die System-Apps gerade nicht bereit für die neuen Uris? Soll ich die neuen Uris irgendwie zu alten hacken, damit Absichten funktionieren? Oder fehlt mir etwas?
Danke!
Google hat das wegen des neuen StorageProviders geändert. Ich denke, du kannst einen Blick hier werfen: http://s.stefma.ws/62ad44 – StefMa
Nun, okay, ich verstehe, warum sie es getan haben. Aber inzwischen haben sie ACTION_VIEW Absicht gebrochen. Alles, was ich dort sehe, ist, wie man über inputStream oder packetFileDescriptor importiert, was ich in meinem Anwendungsfall nicht will. Ich möchte nur Uris in meiner Datenbank speichern und sie wie vorher in externen Anwendungen onClick anzeigen. – urSus
Es scheint, dass die empfangenden Apps in diesem Fall das URI nicht korrekt handhaben, z. Sie versuchen, sie zu analysieren, nicht "openInputStream()" auf ihnen. – botteaap