gpt4 book ai didi

Android:如何防止从一个小部件启动一个 Activity 的多个实例?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:09:27 24 4
gpt4 key购买 nike

重现问题的步骤:

  • 用户启动我的应用程序(根 Activity 的名称:“mainActivity”)=> mainActivity 的实例 A
  • 他按下主页按钮(mainActivity 在后台运行)
  • 他安装了与此应用相关的小部件
  • 他点击小部件 => 显示一个新的 mainActivity 实例(实例 B)
  • 他点击后退按钮:用户返回 Activity A(我不想要的! Activity 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…///

}

最佳答案

尝试使用:

openAppIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

description here .


您还可以使用:

openAppIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);

description here .

关于Android:如何防止从一个小部件启动一个 Activity 的多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8416956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com