Я искал, искал и искал это!
Итак, у меня есть виджет приложения, и у него есть операция по настройке, которую я могу открыть при нажатии кнопки в приложении.Сценарий:
Открыто ли приложение.
Закрыто приложение с помощью кнопки «Домой».
Выбрано для добавления виджета
Я настроил виджет.
Размещено на домашнем экране
Затем снова откройте операцию настройки с помощью кнопки на виджете.
Отмена новой конфигурации нажатием кнопки «Назад» вернет меня обратно в приложение.
При нажатии кнопки назадЯ хочу просто вернуться домой.
По сути, я спрашиваю.Как мне начать работу по настройке в своей собственной задаче / стеке?
Я изучил фильтры намерений, но я просто не совсем уверен, или, возможно, это как-то связано с пакетом, в котором он находится, или, может быть,это просто невозможно!
Полагаю, это может быть связано с намерением, которое я использую для запуска действия конфигурации
Intent configIntent = new Intent(this, Configuration.class);
configIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
remoteView.setOnClickPendingIntent(R.id.config, PendingIntent.getActivity(this, 0, configIntent, PendingIntent.FLAG_UPDATE_CURRENT));
Возможно, потому что я запускаю его с этим в качестве контекста., он всегда будет запускаться в моем стеке приложений ... но API ожидающего намерения: PendingIntent API 1"Обратите внимание, что действие будет запущено вне контекста существующего действия"
Так что да, я перестану говорить сейчас, так как я просто буду ходить кругами!
РЕДАКТИРОВАТЬ
Итак, попытался android:launchMode="singleInstance"
в манифесте, как было заявлено.Это сработало, однако, оно останавливает правильную работу поведения startActivityForResult.(в этом вся причина действия конфигурации). Получите ошибку:
WARN / ActivityManager (59): действие запускается как новая задача, поэтому отмените результат действия.
Так что до сих пор не нашли решение.