矽谷社交2--歡迎頁面,矽谷社交2--
SplashActivity
public class SplashActivity extends Activity { private Handler handler = new Handler(){ public void handleMessage(Message msg){ // 如果當前activity已經退出,那麼我就不處理handler中的訊息 if(isFinishing()) { return; } // 判斷進入首頁面還是登入頁面 toMainOrLogin(); } }; // 判斷進入首頁面還是登入頁面 private void toMainOrLogin() {// new Thread(){// public void run(){//// }// }.start(); Model.getInstance().getGlobalThreadPool().execute(new Runnable() { @Override public void run() { // 判斷當前帳號是否已經登入過 if(EMClient.getInstance().isLoggedInBefore()) {// 登入過 // 擷取到當前登入使用者的資訊 UserInfo account = Model.getInstance().getUserAccountDao().getAccountByHxId(EMClient.getInstance().getCurrentUser()); if(account == null) { // 跳轉到登入頁面 Intent intent = new Intent(SplashActivity.this, LoginAcitivity.class); startActivity(intent); }else { // 登入成功後的方法 Model.getInstance().loginSuccess(account); // 跳轉到首頁面 Intent intent = new Intent(SplashActivity.this, MainActivity.class); startActivity(intent); } }else {// 沒登入過 // 跳轉到登入頁面 Intent intent = new Intent(SplashActivity.this, LoginAcitivity.class); startActivity(intent); } // 結束當前頁面 finish(); } }); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); // 發送2s鐘的延時訊息 handler.sendMessageDelayed(Message.obtain(),2000); } @Override protected void onDestroy() { super.onDestroy(); // 銷毀訊息 handler.removeCallbacksAndMessages(null); }}
Model中建立全域線程池
private ExecutorService executorService = Executors.newCachedThreadPool();public ExecutorService getGlobalThreadPool() { return executorService;}
github完整代碼:https://github.com/ganchuanpu/IM