如何防止小部件重新启动应用程序活动

时间:2013-08-09 07:36:43

标签: android android-activity widget

我正在开发一个包含小部件的Android应用程序。

小部件的主要任务(在用户点击之后)是启动Activity(UpdateWidgetActivity),它从服务器收集数据并更新小部件视图。

此活动不显示任何其他视图,因此用户(在点击小部件后)仍应保留在主屏幕上。

问题在于:

  • 用户启动应用(通过单击图标)(例如活动A)
  • 他按下主页按钮>
  • 他点击了小工具
  • 小部件运行UpdateWidgetActivity但活动A也重新启动并显示给用户(我不想要)

我的问题是

当用户点击Widget时,如何阻止重新启动应用活动(活动A),以便执行完全不同的活动?

我在这里看到了很多类似的主题,但提出的解决方案在我的应用程序中无效。

以下是Widget Provider onUpdate()方法的代码:

{       
for (int appWidgetId : appWidgetIds) {

        Intent intent = new Intent(context, WidgetUpdateActivity.class);
        intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);

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

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

        views.setOnClickPendingIntent(R.id.widget_view, pendingIntent);

        appWidgetManager.updateAppWidget(appWidgetId, views);
    }
    }
}

我是新来的,实际上我只掌握Android的基本知识,对于任何错误或不准确感到抱歉。

0 个答案:

没有答案