Wie beschrieben in dieses Tutorial Ich habe meine App zur Freigabeliste hinzugefügt. Dies funktioniert großartig, solange die Freigabeaktivität nicht gestartet wird. Wenn die Freigabeaktivität jedoch gerade geöffnet ist und der Benutzer auf die Startschaltfläche klickt, die Galerie öffnet und ein Bild freigibt, ist das getExtras () - Bündel der Absicht null Hier ist meine AndroidManifest.xml:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
Und die Methode, die ich OnResume meiner Aktivität aufrufen:
Bundle extras = getIntent().getExtras();
if (extras != null) {
Object o = extras.get(Intent.EXTRA_STREAM);
if (o != null) {
Uri imageUri = (Uri) o;
}
}
Hat jemand ein ähnliches Problem oder warum ist das Bundle null, wenn die Aktivität nur neu gestartet und fortgesetzt wird?
Antworten:
0 für die Antwort № 1Das Problem war, dass ich eingestellt habe android:launchMode="singleTask"
in der Manifest - Datei für meine Aktivität und ich habe die Intent.FLAG_ACTIVITY_SINGLE_TOP
um die Absicht zu beginnen. Das war der Grund, warum die Aktivität nicht neu erstellt wurde. Ich habe beide entfernt und es funktioniert jetzt.