1

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

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

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

问题如下:

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

我的问题是

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

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

下面是 Widget ProvideronUpdate()方法的代码:

{       
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 的基本知识,对于任何错误或不准确之处,我深表歉意。

4

0 回答 0