Android: как предотвратить запуск нескольких экземпляров действия из виджета?

Действия по воспроизведению проблемы:

  • пользователь запускает мое приложение (имя корневого действия: "mainActivity") => экземпляр A mainActivity
  • он нажимает кнопку главного экрана (mainActivity работает в background)
  • он устанавливает виджет относительно этого приложения
  • он нажимает на виджет => отображается новый экземпляр mainActivity (экземпляр B)
  • он нажимает кнопку возврата: пользователь возвращается к действие A (чего я не хочу! Действие B должно быть закрыто (фактически, все приложение должно быть закрыто))

Вы знаете, как избежать этой проблемы? (Я видел несколько похожих вопросов по stackoverflow, но не совсем то, что мне нужно)

Спасибо !!!!

Код:

public class MyWidgetProvider extends AppWidgetProvider {

public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) {

    // Build the intent to call the service//

    RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_layout);

    Intent openAppIntent = new Intent(context.getApplicationContext(), MainActivity.class);
    openAppIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
    PendingIntent openAppPendingIntent = PendingIntent.getActivity(context, 0, openAppIntent, 0);


    remoteViews.setOnClickPendingIntent(R.id.widgetLinearLayout, openAppPendingIntent);

//// ETC…///

    }
10
задан Regis_AG 7 December 2011 в 14:29
поделиться