package com.tencent.hq.qq.ui;
import android.annotation.SuppressLint;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import cn.bmob.im.BmobChat;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.location.LocationClientOption.LocationMode;
import com.baidu.mapapi.SDKInitializer;
import com.tencent.hq.qq.CustomApplcation;
import com.tencent.hq.qq.R;
import com.tencent.hq.qq.config.Config;
public class SplashActivity extends BaseActivity {
private static final int GO_HOME = 100;
private static final int GO_LOGIN = 200;
private LocationClient mLocationClient;
private BaiduReceiver mReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
BmobChat.DEBUG_MODE = true;
BmobChat.getInstance(this).init(Config.applicationId);
initLocClient();
IntentFilter iFilter = new IntentFilter();
iFilter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);
iFilter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);
mReceiver = new BaiduReceiver();
registerReceiver(mReceiver, iFilter);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
if (userManager.getCurrentUser() != null) {
updateUserInfos();
mHandler.sendEmptyMessageDelayed(GO_HOME, 2000);
} else {
mHandler.sendEmptyMessageDelayed(GO_LOGIN, 2000);
}
}
private void initLocClient() {
mLocationClient = CustomApplcation.getInstance().mLocationClient;
LocationClientOption option = new LocationClientOption();
option.setLocationMode(LocationMode.Hight_Accuracy);
option.setCoorType("bd09ll");
option.setScanSpan(1000);
option.setIsNeedAddress(false);
mLocationClient.setLocOption(option);
mLocationClient.start();
}
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case GO_HOME:
startAnimActivity(MainActivity.class);
finish();
break;
case GO_LOGIN:
startAnimActivity(LoginActivity.class);
finish();
break;
}
}
};
public class BaiduReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
String s = intent.getAction();
if (s.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR)) {
ShowToast("key 验证出错! 请在 AndroidManifest.xml 文件中检查 key 设置");
} else if (s
.equals(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR)) {
ShowToast("当前网络连接不稳定,请检查您的网络设置!");
}
}
}
@Override
protected void onDestroy() {
if (mLocationClient != null && mLocationClient.isStarted()) {
mLocationClient.stop();
}
unregisterReceiver(mReceiver);
super.onDestroy();
}
}