Android 从一个阶级到另一个阶级的不工作的意图

Android 从一个阶级到另一个阶级的不工作的意图,android,android-intent,Android,Android Intent,我正在title_page_activity.java中创建一个intent,当我运行这个应用程序时,标题页出现,应用程序不幸停止。 DDMS说应用程序在其主线程上做更多的工作。 请帮我做这个 显示 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.app.hems.cqu"

我正在title_page_activity.java中创建一个intent,当我运行这个应用程序时,标题页出现,应用程序不幸停止。 DDMS说应用程序在其主线程上做更多的工作。 请帮我做这个

显示

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.app.hems.cqu"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="19"
        android:targetSdkVersion="22" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".Title_page_activity"
            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=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.app.hems.cqu.MAINACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>
Title\u Page\u Activity.java

package com.app.hems.cqu;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle viewUserOptionPage) {
        super.onCreate(viewUserOptionPage);
        setContentView(R.layout.mainpage);
    }


}
package com.app.hems.cqu;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class Title_page_activity extends Activity {

    @Override
    protected void onCreate(Bundle CreateTitleSleep) {
        // TODO Auto-generated method stub
        super.onCreate(CreateTitleSleep);
        setContentView(R.layout.titlepage);
        Thread Timer = new Thread(){
            public void run()
            {
                try
                {
                    sleep(2000);

                }
                catch(InterruptedException e)
                {
                    e.printStackTrace();
                }
                finally
                {
                    Intent openMainActivity = new Intent("com.app.hems.cqu.MAINACTIVITY");
                    startActivity(openMainActivity);
                }               
            }           
        };
        Timer.start();
        }

    }

您需要在意图内部提供上下文。试试这个

finally
            {
                Intent openMainActivity = new Intent(this, MainActivity.class);
                startActivity(openMainActivity);
            }

在onCreate中,您启动一个线程(很好,您希望从主ui卸载),但在该线程中,您再次启动mainactivity。因此,这将以活动开始的无限循环结束。

试试这个,
onResume
是创建活动的最后一种方法


我刚刚运行了这个,它对我很有效。尝试以下操作:
Intent openMainActivity=newintent(Title\u page\u activity.this,MainActivity.class)
worked。。。。。!!!谢谢,但是在onCreate里面。所以一旦创建->启动线程->线程执行并创建一个新活动->调用另一个onCreate->启动另一个线程->再次创建一个新活动。等
package com.app.hems.cqu;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class Title_page_activity extends Activity {

    @Override
    protected void onCreate(Bundle CreateTitleSleep) {
        // TODO Auto-generated method stub
        super.onCreate(CreateTitleSleep);
        setContentView(R.layout.titlepage);
        Thread Timer = new Thread(){
            public void run()
            {
                try
                {
                    sleep(2000);

                }
                catch(InterruptedException e)
                {
                    e.printStackTrace();
                }
                finally
                {
                    Intent openMainActivity = new Intent("com.app.hems.cqu.MAINACTIVITY");
                    startActivity(openMainActivity);
                }               
            }           
        };
        Timer.start();
        }

    }
finally
            {
                Intent openMainActivity = new Intent(this, MainActivity.class);
                startActivity(openMainActivity);
            }
@Override
protected void onResume() {
    new Handler().postDelayed(new Runnable() {
      @Override
      public void run() {
        Intent openMainActivity = new Intent("com.app.hems.cqu.MAINACTIVITY");
        startActivity(openMainActivity);
      }
    }, 2000);
}