活动主要MAIN和LAUNCHER不首先被解雇

时间:2015-07-05 17:03:57

标签: android

我有一个启动器活动,后跟loginActivity。但每次我启动我的APP时,我的loginActivity都会被激活,而不是我的launcherActivity。 manifest.xml的xml类似于

"B"|"ls"|"This,is,the,test"
"O"|"mv"|"This,is,the,2nd test"
"J"|"cd"|"This,is,the,3rd test"

java文件就像:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.kryptapps.konel.dchat2" >

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/CustomTheme" >
    <activity
        android:name=".LauncherActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".LoginActivity"
        android:label="@string/title_activity_login" >
    </activity>
    <activity
        android:name=".GroupListActivity"
        android:label="@string/title_activity_group_list" >
    </activity>
</application>

</manifest>

登录活动就像通常的登录页面一样。

1 个答案:

答案 0 :(得分:0)

实际上LauncherActivity被解雇了,但只是500毫秒。

发生的事情是等待20000毫秒,同时执行loadPersonalDatas()

但在500毫秒后,活动发生变化,sleep(20000)被中断。

LoginActivity20000毫秒后启动,您应该在LoginActivity方法的sleep(20000)之后启动run()

public class LauncherActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_launcher);


        Thread time = new Thread() {
            public void run() {
                try {
                    sleep(20000);
                    loadPersonalDatas();             //start activity here
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        };
        time.start();
    }
    void loadPersonalDatas(){
        new Thread() {
            public void run() {
                try {
                    sleep(500);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }.start();
        Intent intent = new Intent(this, LoginActivity.class);
        startActivity(intent);
    }
    @Override
    protected void onPause() {
        super.onPause();
        finish();
    }
}

现在,LoginActivity将在20500毫秒后开始。