0

起初我的启动画面完美无缺,但后来我尝试输入会破坏活动启动画面的代码。我通过将 onPause 方法放入受保护的 void 的末尾来做到这一点。

这是放方法前的闪屏

'package com.shipment.emulatorfix;

'import android.app.Activity;
'import android.content.Intent;
'import android.media.MediaPlayer;
'import android.os.Bundle;

'public class Splash extends Activity{


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);
    Thread timer = new Thread(){
        public void run(){
            try{
                sleep(5000);
            } catch(InterruptedException e){
                e.printStackTrace();
            }finally{
                Intent openMain = new Intent("android.intent.action.TESTINGEMULATORACTIVITY");
                startActivity(openMain);
            }
        }
    };
timer.start();
}



'}

这是后面的代码

'package com.shipment.emulatorfix;

'import android.app.Activity;
'import android.content.Intent;
'import android.media.MediaPlayer;
'import android.os.Bundle;

'public class Splash extends Activity{


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);
    Thread timer = new Thread(){
        public void run(){
            try{
                sleep(5000);
            } catch(InterruptedException e){
                e.printStackTrace();
            }finally{
                Intent openMain = new Intent("android.intent.action.TESTINGEMULATORACTIVITY");
                startActivity(openMain);
            }
        }
    };
timer.start();
}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    finish();
}

'}

任何帮助将不胜感激,谢谢。

4

4 回答 4

2

尝试这个

public class SplashScreen extends Activity {

protected int _splashTime = 2000;   
private Thread splashTread;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);        

    splashTread = new Thread() {
        @Override
        public void run() {
            try {                   
                synchronized(this) {
                    wait(_splashTime);
                }                   
            } catch(InterruptedException e) {
                System.out.println("EXc=" + e);
            } 
            finally {              

                startActivity(new Intent(SplashScreen.this, Login.class ));                 
                //stop();
                finish();
            }
        }
    };      
    splashTread.start();
  }
}
于 2012-03-12T03:55:01.917 回答
0

这应该适合你。

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);
    Thread timer = new Thread() {
        public void run() {
            try {
                sleep(5000);
            } catch(InterruptedException e){
                e.printStackTrace();
            } finally {
                Intent openMain = new  Intent("android.intent.action.TESTINGEMULATORACTIVITY");
                startActivity(openMain);
                Splash.this.finish();
            }
        }
    };
    timer.start();
}    
于 2012-09-13T10:17:05.733 回答
0
public class Welcome extends Activity
{
 /** Called when the activity is first created. */
    Handler mHandler,actHandler;          

   @Override
      public void onCreate(Bundle savedInstanceState)
     {
     super.onCreate(savedInstanceState);        
     setContentView(R.layout.welcome);

    new Thread(){
       public void run(){
       try{                
          Thread.sleep(3000);                 
          }                               
       catch(Exception ex){

          Log.e("Welcome Exception :",ex.toString());
          }
              try{
                 Message msg=mHandler.obtainMessage();  
                 mHandler.sendMessage(msg);     
                 }
                 catch(NullPointerException ex){
                 Log.e("Handler Exception :",ex.toString());                                                         
                }                       
              }

    }.start(); 
      mHandler=new Handler(){
        public void handleMessage(Message msg){
        super.handleMessage(msg);                


        Intent i=new Intent(Welcome.this,M_chat.class);
        startActivity(i);
        finish();
        }
        };  
      }   
  }
于 2012-03-12T04:19:31.123 回答
0

完成活动,然后开始其他活动。

Thread timer = new Thread(){
    public void run(){
        try{
            sleep(5000);
        } catch(InterruptedException e){
            e.printStackTrace();
        }finally{
            finish();
            Intent openMain = new Intent("android.intent.action.TESTINGEMULATORACTIVITY");
            startActivity(openMain);
        }
    }
};
于 2012-03-12T04:53:15.910 回答