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

如何在单击“主页”按钮(通过通知)后将活动带回到前台

百里意智
2023-03-14

我有一个播放视频的VideoActivity,我试图实现的是,当我单击home按钮时,我将显示一个通知,一旦我单击该通知,它将把VideoActivity实例带回到前面。

以下是我如何定义通知的意图:

Intent notificationIntent = new Intent(context, VideoActivity.class);
        notificationIntent.addFlags( Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);

但每次我点击通知时,就会创建一个新的视频活动。

共有3个答案

孟谭三
2023-03-14

您必须使活动成为单个任务,这意味着当它已在运行或处于后台状态时,不应创建其新实例,而应将已在运行的活动置于最前面。

在你的AndroidManifest里。xml

你在哪里声明你的活动

android:launchMode=“singleTask”

在您的活动条目中。

卫甫
2023-03-14

你应该试试这个。

    Intent notificationIntent = new Intent(context, VideoActivity.class);     
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_CLEAR_TOP);
司空胤
2023-03-14

使用这个,因为它也会以更优雅的方式做同样的事情(没有任何副作用)

  final Intent notificationIntent = new Intent(context, YourActivity.class);
  notificationIntent.setAction(Intent.ACTION_MAIN);
  notificationIntent.setFlags(FLAG_ACTIVITY_NEW_TASK);
  notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);

你也可以用这个

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

单任务描述

The system creates a new task and instantiates the activity at the root of the
new task. However, if an instance of the activity already exists in a separate
task, the system routes the intent to the existing instance through a call to 
its onNewIntent() method, rather than creating a new instance. Only one 
instance of the activity can exist at a time.
 类似资料:
  • 我想在记录器服务运行时显示通知。用户应该能够在通知中直接暂停或停止记录器。所以我在通知中添加了两个按钮,并实现了一个BroadcastReceiver来处理按钮点击。 它几乎像我想要的那样工作,但有一个问题我无法解决。当用户单击按钮时,我想显示活动。这是我的代码: 目前执行每个按钮的正确操作,但如果用户单击时应用程序不可见,则不显示该应用程序。如何实现这一点? 有必要在这里实现BroadcastR

  • 我浏览了Stackoverflow,发现有人问了这个问题,但我没有找到任何解决方案。 我有一个带有两个按钮的自定义通知。我想在按下通知按钮后关闭状态栏面板,但不知道如何关闭。如果我按下通知本身(也就是contentIntent),面板就会关闭,这也是我想要的按钮。 这是我的通知代码:

  • 问题内容: 我可以找到一种从通知中向活动发送参数的方法。 我有一个创建通知的服务。当用户单击通知时,我想使用一些特殊参数打开我的主要活动。例如,一个项目ID,这样我的活动就可以加载并显示一个特殊的项目详细信息视图。更具体地说,我正在下载文件,下载文件时,我希望通知具有以下意图:单击该通知后,它将以特殊模式打开我的活动。我曾尝试使用putExtra我的意图,但似乎无法提取它,因此我认为我做错了。 我

  • 我有一个问题,恢复活动的通知点击。我有一个应用程序可以播放一首歌一段时间。这个想法是,当你播放一首歌,并按下Home键时,应该会有一个通知,让你返回到可以停止这首歌的应用程序。 以下是我发出通知的方式: 这是我的舱单:

  • 在我的应用程序中,我有一个通知要显示。 比方说,当显示通知时,我想按“是”进入活动并隐藏通知,按“否”什么都不做只是隐藏通知。 我尝试了这段代码,但是onclick不是onclckpendingent,我不能做任何我想做的事情。 我怎么能这样做?

  • 当用户在我的通知中单击一个按钮时,我正试图打开,而该应用程序仅在后台运行并提供服务。单击按钮时,这些行在类中被触发: 我已经检查过了,这些行被触发了,所以对按钮的点击做出反应没有问题,但是不会打开。 有什么建议吗?为什么这对我不起作用,我怎么能让它起作用? 我被要求提供更多的代码,因此在我的