完成onPause()

时间:2015-02-20 16:12:00

标签: android android-intent android-activity

我有两项活动。 其中之一是一种家庭活动(有一些选择),另一种是主要活动。 使用方法:

<activity
            android:name=".Home"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
        </activity>

在Home.java中我设置:

@Override
    protected void onPause() {
        super.onPause();
        finish();
    }

    @Override
    protected void onStop() {
        super.onStop();
        finish();
    }

MainActivity.java我在方法onPause()onStop()中无所作为。 问题是,如果我在MainActivity中设置回来,应用程序就在我的后台应用程序中,我可以看到MainActivity的屏幕。

但是当我重新启动应用程序时,它会以Home重新启动。

那么,如何使用MainActivity重新启动?感谢

2 个答案:

答案 0 :(得分:0)

如果您希望应用程序始终从MainActivity启动,则需要在清单文件中将intent-filter移动到它。

    <activity
        android:name=".Home"
        android:label="@string/app_name"
        android:screenOrientation="portrait">
    </activity>
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

您也会遇到此行为,因为您在onStop()中调用了finish()。如上所述here,您在onStop()中强制使用onDestroy()。

答案 1 :(得分:0)

试试这个:

@Override
protected void onPause() {
super.onPause();
system.exit(0);
}