重新启动我的Widget配置活动在后台启动我的应用程序

sab*_*der 0 android-widget

我现在有一个相当复杂的应用程序,我想要包含一个应用程序小部件.到目前为止工作正常,一切都是使用内容提供商,服务和配置实用程序设置的.

现在......我希望能够在第一次初始配置后再次重新配置我的小部件.所以我的猜测只是使用PendingIntent和.getActivity()再次启动我的配置活动.到目前为止工作正常!

    RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_news_layout);

    Intent config_intent = new Intent(context.getApplicationContext(), NewsWidgetConfigure.class);
    config_intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mappWidgetId);
    config_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    PendingIntent conf_penIntent = PendingIntent.getActivity(context, mappWidgetId, config_intent,
            PendingIntent.FLAG_UPDATE_CURRENT);

    views.setOnClickPendingIntent(R.id.settings_button, conf_penIntent);
Run Code Online (Sandbox Code Playgroud)

现在......问题是,我的配置活动重新启动会带回整个应用程序,这意味着在"返回"之后 - 按下,以及在我的Configuration.finish()之后,用户返回到应用程序,而不是主屏幕.

我确信这个问题与launchModes或Intent Flags有关......但我现在无法掌握它并且它让我烦恼了好几个小时.

在此先感谢您的帮助.

Ste*_*riu 6

面对同样的问题,我发现设置android:allowTaskReparenting="false"android:taskAffinity=""配置活动将解决问题.