应用程序启动后返回完整的后端堆栈(a)从android市场(b)然后回家

时间:2012-05-01 09:13:30

标签: android android-intent

步骤:

  1. 用户从Android电子市场应用程序启动应用程序
  2. 用户点击“开始孩子”

    stack:ActivityMain> ActivityChild

  3. 用户按下主页按钮并通过“启动图标”

  4. 返回应用程序
  5. Android打开“上一个任务”+创建下一个ActivityMain

    stack:ActivityMain> ActivityChild> ActivityMain

  6. 我希望点击“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>
    

    感谢您的帮助!

2 个答案:

答案 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