Android -- 启动另外一个Activity的方式(2s自动启动)

1.  使用Handler  并且可以设置进入和退出的动画效果

  

Class < ? > activityClass;

	Class [ ] paramTypes =
	{
	                              Integer.TYPE , Integer.TYPE
	};

	Method overrideAnimation = null;

	@ Override
	public void setView ( ) {

		setContentView ( R.layout.activity_splash_fade_main );

	}

	@ Override
	public void initView ( ) {

		try {
			activityClass = Class.forName ( "android.app.Activity" );
			overrideAnimation = activityClass
			                              .getDeclaredMethod ( "overridePendingTransition" ,
			                                                            paramTypes );
		}
		catch ( Exception e ) {
			e.printStackTrace ( );
		}

		Handler handler = new Handler ( );
		handler.postDelayed ( new Runnable ( ) {

			@ Override
			public void run ( ) {

				Intent i = new Intent (
				                              FadeSplashScreenActivity.this ,
				                              FadeMainActivity.class );
				startActivity ( i );
				finish ( ); // 关闭当前的Activity
				if (overrideAnimation != null) {
					try {
						overrideAnimation.invoke ( FadeSplashScreenActivity.this ,
						                              android.R.anim.fade_in ,
						                              android.R.anim.fade_out );
					}
					catch ( Exception e ) {
						// TODO Auto-generated catch block
						e.printStackTrace ( );
					}

				}
			}
		} , 2000 );

	}

 

2.   使用定时器的做

private long splashDelay = 5000; //5s 以后进行跳转

	/** Called when the activity is first created. */
	@ Override
	public void setView ( ) {

		setContentView ( R.layout.activity_splash_fade2_main );

	}

	@ Override
	public void initView ( ) {

		TimerTask task = new TimerTask ( ) {

			@ Override
			public void run ( ) {

				finish ( );   // 关闭Activity
				Intent mainIntent = new Intent ( )
				                              .setClass ( Fade2MainActivity.this ,
				                                                            FadeMainActivity.class );
				startActivity ( mainIntent );
				overridePendingTransition ( android.R.anim.fade_in ,
				                              android.R.anim.fade_out );
			}

		};

		Timer timer = new Timer ( );
		timer.schedule ( task , splashDelay );

	}

 

posted @ 2015-03-07 09:18  落寞回头不如华丽转身  阅读(253)  评论(0编辑  收藏  举报