package com.mfh.comna.bizz.init;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.Window;
import android.view.WindowManager;
import com.mfh.comna.comn.cfg.ServerConfig;
import com.mfh.comna.view.BaseComnActivity;
/**
* 系统初始化界面,做版本检测、数据库安装等所有初始化工作
*
* @author zhangyz created on 2013-5-7
* @since Framework 1.0
*/
public abstract class InitActivity extends BaseComnActivity {
AlertDialog builder;
@Override
protected void onCreate(Bundle savedInstanceState) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
doAsyncTask();
}
/**
* 获取服务
* @return
* @author zhangyz created on 2013-6-6
*/
protected InitService getService() {
return InitService.getService(this);
}
/**
* 初始化之前的准备工作
*/
public void initBefore() {
//super.();
}
/**
* 其他初始化工作
*/
protected void initOther() {
ServerConfig config = ServerConfig.getServerConfig(this);
config.init();
}
@Override
public Object doInBackground(int taskKind, Object... params) {
initBefore();
getService().init(this);
initOther();
return 0;
}
@Override
public ProgressDialog onPreExecute(int taskKind) {
return null;//无需开启进度条,因为本身界面有。
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
public void finish() {
super.finish();
Thread.currentThread().interrupt();//中断当前线程.
}
/**
* 执行启动主界面
*/
protected abstract void startMainActivity();
@Override
public void onPostExecute(int taskKind, Object result, Object... params) {
super.onPostExecute(taskKind, result, params);
if (builder == null) {//重点是这里,如果条件成立,表示没有新的更新程序,否则不能让他直接跳转
// new CountDownTimer(2000, 100) {//延时三秒钟
// @Override
// public void onTick(long millisUntilFinished) {
//
// }
// @Override
// public void onFinish() {
// startMainActivity();
// //finish();
// }
// }.start();
startMainActivity();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return true;
}
}