Intent-Filter: intent.getData () gibt null zurück

8

Ich schreibe einen Bildbearbeitungsprogramm in Android. Bisher hat es eine einzige Aktivität. Von dieser Aktivität kann ich ein Bild über eine Menüoption laden, die die Galerie-Aktivität aufruft, und in onActivityResult behandle ich das empfangene Bild, um meine Leinwand zu malen, damit ich sie bearbeiten kann. Das funktioniert gut.

Was ich jetzt tun möchte, ist, diese Aktivität von überall her aufrufbar zu machen. Anstatt also ein Bild aus der Aktivität auszuwählen, könnte ich einfach die Galerie öffnen, ein Foto auswählen und es an meine App senden. Aber ich kann nicht herausfinden, wie.

In meinem Manifest habe ich Folgendes in die <activity> -Tags geschrieben:

%Vor%

Dann habe ich in meiner Aktivität, wie in Ссылка erwähnt, folgendes geschrieben Inside onCreate ():

%Vor%

Wenn ich die App auf meinem Telefon installiere und dann die Galerie öffne, kann ich ein Bild auswählen und das "Senden" -Menü verwenden. Meine App wird in der App-Liste angezeigt, aber wenn ich sie auswähle, wird meine App zwar geöffnet, aber ignoriert das Bild. Es stellt sich heraus, dass die URI, die ich von intent.getData() bekomme, null ist, und ich kann nicht herausfinden warum.

Mache ich etwas falsch? Vergesse ich etwas? Wenn Sie wissen müssen, bin ich auf Android 2.3 mit der mitgelieferten CoolIris Galerie.

    
ziritrion 30.04.2012, 16:13
quelle

1 Antwort

22

Der gewünschte Uri ist im Bündel. Ich habe unten Code versucht und kann den Uri des Bildes bekommen wie content://media/external/images/media/1750

%Vor%

Weitere Informationen finden Sie in der ACTION_SEND

    
dreamtale 30.04.2012, 17:08
quelle