package com.lq.activity;
import java.lang.ref.WeakReference;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.FragmentActivity;
import com.google.analytics.tracking.android.EasyTracker;
import com.lq.xpressmusic.R;
import com.umeng.analytics.MobclickAgent;
/**
* @author lq 2013-6-1 lq2625304@gmail.com
* */
public class SplashActivity extends FragmentActivity {
private MyHandler mHandler = new MyHandler(this);
private final int mDelayMillis = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome);
mHandler.sendEmptyMessageDelayed(0, mDelayMillis);
initUmengSDK();
}
@Override
protected void onStart() {
super.onStart();
EasyTracker.getInstance(this).activityStart(this);
}
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
@Override
protected void onStop() {
super.onStop();
EasyTracker.getInstance(this).activityStop(this);
}
@Override
public void onBackPressed() {
// 什么也不做,在欢迎界面禁止用户回退
}
private void initUmengSDK() {
MobclickAgent.openActivityDurationTrack(true);
MobclickAgent.updateOnlineConfig(this);
MobclickAgent.onError(this);
}
private static class MyHandler extends Handler {
// 使用弱引用,避免Handler造成的内存泄露(Message持有Handler的引用,内部定义的Handler类持有外部类的引用)
WeakReference<SplashActivity> mFragmentWeakReference = null;
SplashActivity mActivity = null;
public MyHandler(SplashActivity a) {
mFragmentWeakReference = new WeakReference<SplashActivity>(a);
mActivity = mFragmentWeakReference.get();
}
@Override
public void handleMessage(Message msg) {
mActivity.startActivity(new Intent(mActivity,
MainContentActivity.class));
mActivity.finish();
}
}
}