jjzjj

SingleTask

全部标签

android - Activity之间的动画,其中一个是singleTask

我正在开发一个聊天应用程序,但在弄清楚如何让两个Activity之间的过渡正确设置动画时遇到了问题。我已经用谷歌搜索了一段时间,也搜索过它,但如果这个问题已经得到回答,请提前道歉。我有一个ChatMainActivity,它包含一个包含聊天列表的Fragment和一个ChatContentFragmentActivity,它包含一个包含聊天消息的Fragment。如下所示,我在我的AndroidManifest.xml中将ChatMainActivity声明为launchMode="singleTask"。这些是我的动画.xml:chat_content_activity_enter_

android - 带有 SplashScreen 的 Activity SingleTask 行为

在我的应用程序中我有:-SplashScreen(SSc)准备应用程序(启动服务等)-MainActivity(MA)处理大多数操作的应用程序中最相关的部分-以及其他一些不那么相关的Activity对于我的应用程序,我希望有像launchModesingleTask这样的行为,这样我的应用程序总是作为一个新任务启动,即使是通过单击SMS/EMail应用程序中的链接打开时也是如此。最好只有一个我的Activity实例,因为它们都是连续导航的。但是,当我将SSc作为singleTask启动时,它是堆栈的根并导航到MainActivity,按主页,再次单击启动器图标,应用程序将完全重新启动。

android - 使用singleTask时如何处理每个Intent

我正在使用一个单任务模式Activity,它通过指定一个Intent过滤器来处理某种类型的文件。我需要只处理一次这样的文件Intent。问题是onNewIntent()只有在任务已经存在时才会被调用,这迫使我也处理来自onCreate()的Intent。不幸的是,onCreate()被调用的原因有很多(例如屏幕旋转),并且getIntent()返回的Intent可能在多个onCreate()中是相同的。当然,可以使用一些丑陋的hack来解决这个问题,但我想知道优雅的解决方案是什么。到目前为止,我想出的最好的解决方案是每次处理完一个Intent后都设置Intent(newIntent(I

android - 为什么Android会在singleTask或singleInstance上启动多个实例?

我想要实现的目标:MainActivity应该被重用,换句话说,我不想再次运行onCreate(),而只是在同一个Activity上运行onResume(),但我有一个奇怪的行为。似乎忽略了AndroidManifest中的launchMode。无论我设置什么(singleTask、singleInstance),它总是会创建一个导致堆不断增长的新Activity。当我使用主页按钮退出应用程序并再次启动它时,每次都会创建一个新实例。(在.hprof泄漏报告中观察到)。它是这样的:当我试图隔离问题时,我看到Activity将在按下home时被杀死(onDestroy()被执行),但泄漏报

Android launchMode singleTask

如果我们有2个Activity,A和B,它们都在AndroidManifest.xml中定义为singleTask,当A启动B时,A将被关闭(onDestroy()被立即调用)。为什么会出现这种情况,如何避免A被系统关闭(同一个应用中的多个singleTaskActivity)? 最佳答案 Fromdocumentation:“singleTask”和“singleInstance”Activity只能开始一个任务。它们始终位于Activity堆栈的根部。由于系统中不能有两个根activity,所以在启动这样一个任务时,之前的所有a

android -- 关于singleTask模式的问题

在查看“任务和返回堆栈”指南的“定义启动模式”部分后,我不完全理解使用“singleTask”声明的Activity的行为。假设我启动了一个singleTask-activity(通过startActivity方法),当该Activity的一个实例位于后台任务的底部(根Activity)时,如文章所述,我用来启动singleTask-activity的Intent将传递给实例,在这种情况下,实例是将自己置于其任务的顶部并将其任务置于前台,还是仅将其任务置于前景而不把自己置于其任务的首位?我表达清楚了吗?请帮助!提前致谢 最佳答案 我

android - android singleTask Activity 不作为root?

我一直在阅读关于启动模式的文档,有一件事我不明白。doc表示单任务活动始终是堆栈的根:相反,“singletask”和“singleinstance”活动只能开始一项任务。它们始终位于活动堆栈的根。此外,设备在时间-只有一个这样的任务。但是:如果您查看位于this的doc的Figure4部分,您会看到当活动2启动活动y(将该任务置于前台)时,活动y已经位于任务的顶部,并且将位于当前任务的顶部,而不是根。我在simulationapp中尝试了这个场景,当我创建singletask活动时,它总是创建一个新任务。但是,如果唯一的实例已经存在,它将完成此实例之上的所有活动,因此唯一的实例可以是

android - 具有 singleTask 启动模式的 Activity 及其在后台堆栈中的位置

在安卓官网上guideontasksandbackstack,有一条信息我觉得自相矛盾。所以,如果有人能帮我解决这个问题,我将不胜感激。首先,有以下声明:Activitiesinthestackareneverrearranged,onlypushedandpoppedfromthestack—pushedontothestackwhenstartedbythecurrentactivityandpoppedoffwhentheuserleavesitusingtheBackbutton.然后是singleTask启动方式的描述,有如下语句:Thesystemcreatesanewta

android - launchMode=singleTask 和通知?

我知道有一些帖子可以解答我要问的问题,但我找不到任何正确答案。根据我的理解,如果您的主要Activity(我们称它为A)的启动模式设置为singleTask,并且A已启动ActivityB,那么单击主页按钮将破坏历史堆栈并重新启动应用程序将带您回到A而不是B。我将launchMode设置为singleTask,因为我有一个持久通知,并且我不希望在用户单击通知时出现多个主要Activity实例。我是否缺少可以让我同时满足这两者的东西?所以我想问是否有一种方法可以确保无论用户是否希望启动应用程序,无论是否收到通知,都能将他带回上次(当前)Activity。如果我将launchMode更改为

Android:如何在使用 SingleTask 时清除 Intent 堆栈

我在我的应用程序中使用TwitteroAuth库。用户正在使用Twitter帐户登录。在ActivityA中,可以使用Twitter登录。当用户登录时,我想启动没有历史记录的ActivityB。这是我所有的东西:首先,Manifest.xml,所以我按照Twitterapi的要求设置了launchMode=singleTask:这是我开始ActivityB的方式:Intenti=newIntent(A.this,B.class);i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);i.addFlags(Intent.FLAG_ACTIVITY_NEW_