Android AppWidget + android: clearTaskOnLaunch = "true" - PullRequest
1 голос
/ 25 апреля 2011

Я хочу, чтобы мое приложение отображало экран входа каждый раз, когда он открывается.С android:clearTaskOnLaunch="true" все отлично работает.Но есть ошибка, которая возникает только в том случае, если телефон был выключен, и приложение сначала было запущено с виджетом.

Intent intent = new Intent(context, StartActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
[....]
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_onebyone)
views.setOnClickPendingIntent(R.id.widget, pendingIntent);

Этот код должен начать мою активную деятельность.При первом запуске это делает.Но завершение приложения с помощью HOME и перезапуск его с помощью виджета приводит к тому, что мое приложение запускается не с моей начальной активностью, а с другой активностью моего приложения без отображения экрана входа.Что я могу сделать, чтобы это исправить.Я пробовал

PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);

Но это не работает.Все, что я хочу, это (пере) запустить StartActivity-Intent, как в startActivity(..), но я не нашел возможности дать моему Widget OnClickListener, который запускает «нормальную» активность.

С уважением,

До

1 Ответ

1 голос
/ 25 апреля 2011

Вы пытались добавить флаг к цели:

Intent intent = new Intent(context, StartActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
[....]
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_onebyone)
views.setOnClickPendingIntent(R.id.widget, pendingIntent);

Намеренный API

setFlags (целое)

FLAG_ACTIVITY_CLEAR_TASK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...