Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在单击通知时关闭我的应用程序?_Android_Notifications_Android Notifications_Android Launcher - Fatal编程技术网

Android 如何在单击通知时关闭我的应用程序?

Android 如何在单击通知时关闭我的应用程序?,android,notifications,android-notifications,android-launcher,Android,Notifications,Android Notifications,Android Launcher,我创建了通知,当您单击通知时,会显示startActivity。 这非常有效,尤其是在我的应用程序尚未启动时 我遇到的问题是当我打开通知时,因为上一个活动仍然处于打开状态 我的意图是,当您单击通知关闭当前应用程序时,这只包含来自通知的新调用 我已经尝试在AndroidManifest中使用android:launch=和PendingEvents上的标志来显示,但是我没有成功运行它 有什么帮助吗?谢谢 编辑: 我的申请开始如下: SplashScreen.class->Main.class是一个

我创建了通知,当您单击通知时,会显示startActivity。 这非常有效,尤其是在我的应用程序尚未启动时

我遇到的问题是当我打开通知时,因为上一个活动仍然处于打开状态

我的意图是,当您单击通知关闭当前应用程序时,这只包含来自通知的新调用

我已经尝试在AndroidManifest中使用android:launch=和PendingEvents上的标志来显示,但是我没有成功运行它

有什么帮助吗?谢谢

编辑: 我的申请开始如下:

SplashScreen.class->Main.class是一个选项卡活动

单击通知时,我会执行以下操作: SplashScreen.class->Main.class是一个选项卡活动

但是,如果我的申请已经启动,并且我在通知上脉动,我有:

新建-SplashScreen.class->Main.class是当前活动的选项卡
更老的如果您需要在单击通知时打开SplashScreen.class,请尝试创建如下意图:

Intent intent = new Intent(myContext, SplashScreen.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
正如文件所述,Intent.FLAG\u活动\u CLEAR\u TOP

如果已设置,则正在启动的活动已在中运行 当前任务,而不是启动该任务的新实例 活动,其上的所有其他活动都将关闭,并且 这一意图将作为一个整体传递给现在最重要的旧活动 新的意图

例如,考虑一个由活动组成的任务:A、B、C、D. 如果D调用startActivity的目的是解决 活动B的组件,然后C和D将完成,B将收到 给定的意图,导致堆栈现在为:A,B

上面示例中当前正在运行的活动B实例将 要么接收你从这里开始的新意图 onNewIntent方法,或使用新的 意图如果已将其启动模式声明为多个 默认设置,并且您没有在同一系统中设置标志\活动\单个\顶部 意图,然后它将被完成并重新创建;对于所有其他发射 模式,或者如果设置了标志\u活动\u单个\u顶部,则此意图将被忽略 已传递到当前实例的onNewIntent


因此,当您使用此标志启动SplashScreen活动时,如果它已经在堆栈上,它将被带到顶部,堆栈上它上面的所有其他活动将被清除

您的意思是关闭我的活动吗?例如,我在应用程序中看到了Tab2。当我点击通知时,我想关闭当前应用程序并启动一个新的应用程序。我的问题是,新活动出现在上面,您将替换或之前。您是否尝试过android:excludeFromRecents=true作为您的主要活动?@AhmadKayyali我尝试过,但没有改变。上一个活动仍在进行中。我编辑了这篇文章,希望能更好地解释。试试安卓:launchMode=singleTop它对我有用