Я работаю над виджетами для Android-приложения, и у меня возникла проблема. Когда пользователь нажимает на виджет, я хотел бы, чтобы приложение открыло его первое действие (одно с заглавием-фильтром: «action.MAIN»/«category.LAUNCHER») (я назову его Activity A).Android: Intent не работает
Чтобы сделать это, я использую этот фрагмент кода (в моем WidgetProvider классе):
Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.view , pendingIntent);
Это работает очень хорошо, если мое заявление будет убит или, если все мероприятия были закрыты (не используя кнопку назад до тех пор, application close)
Проблема возникает, когда несколько действий открыты. Представьте себе, что стек деятельности выглядит следующим образом: Деятельность A -> Деятельность B -> Деятельность C. Если я нажму на виджет, ИНОСТРАНЦЫ приложение просто выведено на передний план и активность C видна вместо Activity A. Это очень странно, потому что это не происходит каждый раз. (Кажется, что это происходит после того, как я много перемещаюсь по видам деятельности)
Мне действительно нужна операция A, чтобы открыть, а не другую активность, как бы то ни было, как это произошло, поскольку эта деятельность похожа на концентратор с несколькими ссылками на разностные функции.
Может кто-нибудь мне помочь?
спасибо.
PS: Извините, если мой английский очень беден, я из Бельгии
Не могли бы вы просто называть финиш(), когда вы запускаете следующую операцию? Он не должен появляться снова. – nik431
Это невозможно. Если я это сделаю, приложение остановится, как только пользователь нажмет кнопку «Назад». – Valentin