步骤:
用户点击“开始孩子”
stack:ActivityMain> ActivityChild
用户按下主页按钮并通过“启动图标”
Android打开“上一个任务”+创建下一个ActivityMain
stack:ActivityMain> ActivityChild> ActivityMain
我希望点击“lauch icon”只会返回上一个堆栈[没有实际创建新活动] 我期待堆栈:
ActivityMain > ActivityChild
如何实现它?
另一方面,当上述第1步中的用户从“启动图标”开始逐渐启动app时,问题就不存在了。
清单:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="ActivityMain"
android:name=".ActivityMain" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="ActivityChild"
android:name=".ActivityChild" >
</activity>
</application>
感谢您的帮助!
答案 0 :(得分:1)
解决方案:
介绍负责以下的“发射器活动”:
- 开始新任务,
- 或恢复以前的任务。
启动器以“singleInstance”启动。
public class ActLauncher extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent i = new Intent(this, ActivityChild1.class);
startActivity(i);
finish();
}
}
例如,假设我们有活动:
ActLauncher [mode=singleInstance]
ActChild1 [mode=standard]
ActChild2 [mode=standard]
现在用户执行序列:
AndroidMarket > ActLauncher > ActChild1 > ActChild2
然后HOME
然后通过启动器图标“ActLauncher”返回应用程序。
这将用户带到完整的前一个后台:
ActChild1 > ActChild2
我在this app中应用了解决方案
有:
- ActLauncher =“隐形”
- ActChild1 =主屏幕
- ActChild2 =游戏画面
祝福!
答案 1 :(得分:0)
您需要了解android:launchMode
的{{1}}和android:clearTaskOnLaunch
属性:http://developer.android.com/guide/topics/manifest/activity-element.html#lmode