timer
public abstract class BaseActivity extends Activity implements Handler.Callback
{
private Timer timerCheckNetWork;
public BaseActivity()
{
if (null == handler)
{
Log.i("BaseActivity", "handler");
handler = new Handler(this);
}
if (null == timerCheckNetWork)
{
timerCheckNetWork = new Timer();
}
timerCheckNetWork.schedule(taskCheckNetWorkSession, 1000, 1000);
}
TimerTask taskCheckNetWorkSession = new TimerTask()
{
public void run()
{
// ToastUtil.showAtCenterLong(activity,
// "检测网络中....");
if (!NetUtil.checkNetWorkStatus(Config.getCurrentActivity()))
{
if (Config.getSocketSession().isOpened())
{
Message message = handler.obtainMessage(MessageWhat.NETWORK_CLOSED);
handler.sendMessage(message);
Config.getSocketSession().close();
}
}
else
{
if (!Config.getSocketSession().isOpened())
{
if (Config.getUserID() > 0)
{
Message message = handler.obtainMessage(MessageWhat.NETWORK_OPENED);
handler.sendMessage(message);
}
}
}
}
};
public boolean handleMessage(Message msg)
{
String result = "";
switch (msg.what)
{
case MessageWhat.NETWORK_OPENED:
if (Config.getUserID() > 0)
{
handler = new Handler(Config.getCurrentActivity());
Log.i("GroupChatActivity", "taskCheckNetWorkSessionOpening");
Config.setSocketSession(null);
((ClientAdapter) Config.getSocketSession().getEventAdapter()).setHandler(handler);
Config.getSocketSession().setIP(Config.getIp());
Config.getSocketSession().setPort(Config.getPort());
Config.getSocketSession().open();
}
break;
case MessageWhat.NETWORK_CLOSED:
Log.i("taskCheckNetWorkSessionClose", "taskCheckNetWorkSessionCloseing");
ToastUtil.showLong(this, "网络太不给力,请设置网络!");
break;
}
return true;
}