Wie funktioniert startActivityForResult für externe Aktivitäten?

Die Suche nach hoch und niedrig hat zu keinem Ergebnis für mein Problem geführt. Daher poste ich endlich ein Plädoyer für Unterstützung.

Ich habe zwei App, beide von mir geschrieben. App A startet App B und übergibt Parameter über Intent.putExtra (). Dies funktioniert einwandfrei, wenn App B gestartet wird und die Parameter ordnungsgemäß übergeben werden.

Ich kann jedoch keine Möglichkeit finden, eine Antwort auf App A zurückzugeben. Durch die Verwendung von startActivityForResult () habe ich immer sofort onActivityResult () mit RESULT_CANCELED erhalten. Bei weiterer Überprüfung gab mir der Logcat eine Warnung mit der Meldung "Aktivität wird als neue Aufgabe gestartet, sodass das Aktivitätsergebnis storniert wird".

Ich habe versucht, Activity of App B mit verschiedenen Startmodi und Aktionsfiltern (android.intent.action.PICK) zu erstellen, aber ich habe nichts daran geändert.

Versuche ich das Unmögliche zu tun? Soweit ich weiß, sollte das, was ich versuche, der Verwendung von Aktivitäten von Drittanbietern ähneln, um Bilder aus der Fotogalerie des Geräts auszuwählen.

BEARBEITEN:

Ok, ich habe versucht, die Kategorie LAUNCHER aus Aktivität B zu entfernen, aber es funktioniert immer noch nicht. Hier ist meine Aktivität:

<activity android:name=".${CLASSNAME}" android:label="@string/app_name" android:configChanges="mcc|mnc|locale|keyboardHidden|orientation" android:launchMode="standard">
    <intent-filter>
        <action android:name="android.intent.action.PICK" />
    </intent-filter>
</activity>

Hat jemand das wirklich zum Laufen gebracht? Ich beginne zu vermuten, dass das Starten einer Aktivität, die von einer anderen App stammt, niemals zu Ergebnissen führen kann, da anscheinend immer eine neue Aufgabe gestartet wird, unabhängig davon, was Sie in den "Absichtsfilter" eingegeben haben.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage