我正在开发一个包含小部件的Android应用程序。
小部件的主要任务(在用户点击之后)是启动Activity(UpdateWidgetActivity
),它从服务器收集数据并更新小部件视图。
此活动不显示任何其他视图,因此用户(在点击小部件后)仍应保留在主屏幕上。
问题在于:
UpdateWidgetActivity
但活动A也重新启动并显示给用户(我不想要)当用户点击Widget时,如何阻止重新启动应用活动(活动A),以便执行完全不同的活动?
我在这里看到了很多类似的主题,但提出的解决方案在我的应用程序中无效。
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的基本知识,对于任何错误或不准确感到抱歉。