Suchen hoch und niedrig hat kein Ergebnis für mein Problem ergeben. Daher posten wir endlich um Hilfe zu bitten.Wie bekomme ich startActivityForResult für externe Aktivitäten?
Ich habe zwei App, beide von mir geschrieben. App A startet App B und übergibt Parameter über Intent.putExtra(). Das funktioniert einwandfrei, wenn App B gestartet wird, werden die Parameter gut übergeben.
Ich kann jedoch keine Möglichkeit finden, eine Antwort an App A zurückzugeben. Das Verwenden von startActivityForResult() gab mir immer sofort onActivityResult() mit RESULT_CANCELED. Bei einer weiteren Überprüfung gab der Logcat eine Warnung aus, dass "Aktivität als neue Aufgabe gestartet wird, also das Aktivitätsergebnis abbricht".
Ich habe versucht, Aktivität von App B mit verschiedenen Startmodus, Aktion Filter (android.intent.action.PICK), aber nichts, was ich etwas geändert habe.
Mache ich das Unmögliche? Soweit ich weiß, sollte das, was ich versuche, der Verwendung von Drittanbieteraktivitäten ähneln, um Bilder aus der Fotogalerie des Geräts auszuwählen.
EDIT:
Ok, habe ich versucht, die LAUNCHER Kategorie von 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 tatsächlich dies zu arbeiten? Ich beginne zu vermuten, dass das Starten einer Aktivität, die von einer anderen Anwendung stammt, niemals Ergebnisse zurückliefern kann, da es scheint, dass es immer eine neue Aufgabe starten wird, egal, was du in den "Absichtsfilter" eingibst.
Veröffentlichen Sie den Code, den Sie verwenden, erstellen und starten Sie die Absicht für ActivityB. Sie sollten in der Lage sein, etwas wie folgt zu setzen: 'this.setResult (Activity.RESULT_OK, data);' in der zweiten Aktivität, um zum ersten zurückzukehren. – FoamyGuy
können Sie Ihre Manifest-Datei veröffentlichen? Vielleicht hat Aktivität B einige spezielle Tag –
nandeesh
Hmmm ... Aktivität B hatte die Ist das Problem? Ich bin gerade nicht an meiner Arbeitsmaschine. Ich werde versuchen, das zu entfernen und zu sehen, ob das funktioniert. Die Sache ist von was ich gelesen habe, beginnt eine Aktivität, die nicht Teil des gleichen Pakets ist immer in einer neuen Aufgabe zu starten? Wenn dies der Fall ist, würde startActivityForResult nicht funktionieren, um eine externe Aktivität auf einer anderen apk zu starten? –