Как заставить работать startActivityForResult во внешней активности?

Поиск вверху и внизу не дал результата для моей проблемы. Поэтому я наконец-то пишу, чтобы просить о помощи.

У меня есть два приложения, оба написаны мной. Приложение A запускает приложение B, передавая параметры через Intent.putExtra (). Это отлично работает, когда приложение B запускается, параметры передаются хорошо.

Однако я не могу найти способ вернуть ответ приложению A. Использование startActivityForResult ()всегда давало мне немедленный onActivityResult ()с РЕЗУЛЬТАТОМ _CANCELED. После дальнейшей проверки logcat выдал мне предупреждение о том, что «Действие запускается как новая задача, поэтому отмена результата действия».

Я попытался сделать Activity приложения B с другим режимом запуска, фильтрами действий (android.intent.action.PICK ), но ничего из того, что я делаю, ничего не изменило.

Пытаюсь ли я сделать невозможное? Насколько я понимаю, то, что я пытаюсь сделать, должно быть похоже на использование активности третьей стороны -для выбора изображений из фотогалереи устройства.

РЕДАКТИРОВАТЬ:

Хорошо, я попытался удалить категорию LAUNCHER из Activity B, но это все равно не работает. Вот моя активность:

<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>

Кто-нибудь действительно заставил это работать? Я начинаю подозревать, что запуск действия другого приложения никогда не может вернуть результаты, поскольку кажется, что оно всегда будет запускать новую задачу, независимо от того, что вы указали в «фильтре намерений -».

5
задан Lf3T-Hn4D 12 August 2012 в 16:49
поделиться