我的应用程序包含多个活动,主要活动(A)是在启动模式单层,每个over活动都在单层模式。
如果我这样导航,我会选择singleInstance来防止不受限制的导航:A-
它按预期工作。
问题:如果我在-
如果从“最近的应用程序”菜单打开应用程序,为什么任务历史记录不保留?
<activity
android:name="A"
android:label="@string/app_name"
android:launchMode="singleTop"
android:configChanges="orientation|screenSize"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.app.default_searchable"
android:value=".SearchResultsActivity" />
</activity>
<activity
android:configChanges="orientation|screenSize"
android:name="B"
android:label="B"
android:launchMode="singleInstance"
android:theme="@style/AppTheme.NoActionBar">
</activity>
<activity
android:configChanges="orientation|screenSize"
android:name="C"
android:label="C"
android:launchMode="singleInstance"
android:theme="@style/AppTheme.NoActionBar">
</activity>
多谢你的帮忙
如果html" target="_blank">调用了单实例活动,将创建一个新任务。通过dumpsys
,我们可以找到两个任务,但任务管理器中只显示一个任务。这可能是一个系统错误。如果活动B设置了taskAffinity,则Task Manager中可能有两个任务。
由于您从A启动单个实例B,因此将存在两个任务:任务1包含活动A,而任务2包含活动B。
您从任务管理器中打开任务2,它只包含一个活动B,因此您不能返回活动A。
使用“后退”按钮时效果很好,因为
无论活动是在新任务中开始,还是在与启动它的活动相同的任务中开始,后退按钮总是将用户带到上一个活动。
您可以从开发人员文档:任务和后台堆栈中获取此信息。
如果真的有必要,我建议你不要使用SingleInstance模式。
我正在实施GCM。我的应用程序有两个活动,比如和。我正在使用此代码从通知栏启动: NotificationBar打开带有Intent的活动,说“B-通知-意图”,然后我使用后退按钮从打开活动,然后我再次启动从有一个新的Intent(说“B-A-意图”)。我使用下面的代码: 然后我在中获得新数据(即的屏幕被刷新)。但如果我按下Home(主页)按钮,然后从最近的应用程序启动应用程序,那么我会变老屏幕上
我的应用程序有两个活动A和B。A是根活动,设置为singleTop launchMode。B从A开始,即任务堆栈是(A- 当任务堆栈仅为(A)时,如预期的那样,intent将从现有A调用onNewIntent()。当任务堆栈为(A)时- 是否使用了不正确的启动模式导致的问题?或者需要在通知意图中添加任何标志? 谢谢
函数名称:打开最近任务 函数功能: 下滑显示最近任务 函数方法 keycode.recent() 注意事项 部分设备可能会出现无效的问题,已知模拟器调用此命令可能会失效。 目前积木编程函数和触动精灵函数不通用,请仔细查看本手册,此手册中函数仅支持积木编程,不支持触动精灵,同理请勿将触动精灵函数在积木编程运行。
我正在开发一款针对ICS手机的应用程序。 在应用程序中,我有一个飞溅屏幕和几个其他屏幕,可以从飞溅屏幕或通过NFC触摸启动。我的一个活动包含以下意图过滤器: 由于某些原因,我无法理解,每当启动包含上述意图过滤器的活动时,当用户按下“主页”按钮时,该活动不会出现在“最近的应用”列表中。通过调试器,我验证了它没有被销毁,只是停止了。 如果启动屏幕在ThingActivity之前打开,则启动将显示在最近
我在应用程序中有一个奇怪的行为,当创建新的活动实例时,传入的文本通过onCreate方法存储在sharedData变量中,当调用应用程序onDestroy方法(通过按后退按钮)并从最近使用的应用程序开始活动时,调用onCreate方法是正常的,但intent.getAction()和intent.getType()也返回有效值,如果condition正在执行!为什么会这样?
我知道关于这个问题有一些讨论,但我的情况不同。 我的案例:LanchActive(加载动画)- 如果应用程序在后台,请将应用程序带到前台,并在Mainactive中显示选项卡B。 如果应用程序被杀死,启动应用程序,LanchActive- 我已经实现了以上内容,我设置了主要活动: 具有以下设置的通知: 在主活动中: 我在MainActivity中使用singleTask lanchMode的原因是