当前位置: 首页 > 知识库问答 >
问题:

意图-如果活动正在运行,将其放在前面,否则启动一个新的活动(从通知)

满自明
2023-03-14

我的应用程序有通知,它--显然--没有任何标志,每次启动一个新的活动,所以我得到多个相同的活动在彼此之上运行,这是错误的。

到目前为止,我对该通知的意图/待定意图是

private static PendingIntent prepareIntent(Context context) {
    Intent intent = new Intent(context, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

    return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}

奇怪的是,它有时起作用,有时不起作用...我觉得我已经试过了每一种旗帜的组合。

共有1个答案

虞安康
2023-03-14

您可以使用以下内容:

<activity 
   android:name=".YourActivity"
   android:launchMode="singleTask"/>

它的工作方式与“singleinstance”类似,但不会有那种奇怪的动画。

 类似资料:
  • 我想把意图转移到Xamarin.Android中的另一个活动。基本上,我需要Intent.data和Intent.clipdata到另一个活动,所以我使用下面的代码来传输Intent,但我不知道检索它的正确方法。 下面是Main Activity中的代码 在第二活动中 如何在第二个活动中检索意图?

  • 问题内容: 我对android非常陌生,我正在尝试将用户输入的数据(他们的名字)发送到另一个活动。过去,我可以使用Intent在活动之间发送单行代码,但是我无法解决如何向两个不同的TextView发送两个不同的字符串。 这是到目前为止我的MainActivity代码: 我第二项活动MainGame的代码: 当我运行它时,我得到了两个TextView中都为“ name2”添加的内容。我需要做些什么来

  • 我有一个活动,可以在收藏夹列表中添加书签。每个宠儿都有一个按钮。当我点击那个按钮时,我必须进入那个特定的活动。但它显示了一个错误。应用程序不会崩溃,但书签活动不会从单击开始。 以下是“收藏夹”活动的代码: 错误是onClick方法,具体如下: 它给我一个ClassNotFoundExc0019。 似乎有了这段代码,我就可以启动这个包中的活动了。但问题是,我想开始的活动在另一个包中。logcat说它

  • 问题内容: 我为具有不同元数据的活动设置了一些别名。 在此元数据中,我设置了片段的名称,然后通过反射将其加载。 我不知道这是否是一个“干净”的解决方案,尽管通过使用Fragments并将功能放入内部,我只具有一个SuperActivity和2个Empty SubActivity来指定清单中的每个。 现在的问题是:我可以通过意图启动别名吗?无法工作,因为我找不到通过意图调用来设置元数据的方法。 我需

  • 我有一个应用程序的屏幕小部件。单击此小部件时,会打开“DeveloperMode”设置。但在一些设备上,应用程序因以下消息而崩溃。 引起:android.util.AndroidRuntimeExcture:从活动上下文外部调用starActive()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗? 我曾尝试使用addFlags和setFlags添加这一行,但仍然存在相同

  • 我是用android创建的Messenger,收到的每条消息都会显示通知,当app收到某人的消息时会调用此方法,内容是朋友的消息,标题是朋友的名字,每个人都有ID,并且我还传递朋友ID到FriendID参数。 一切都很好,但是如果我的朋友(A)给我发消息,我看到通知,我点击它会显示我的Messenger活动,在这种状态下,我的朋友(B)给我发消息,我点击通知,我会看到我的(B)朋友的Messang