import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import cn.bmob.v3.BmobUser;
import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.LogInListener;
import cn.bmob.v3.listener.RequestSMSCodeListener;
import com.chencheng.model.User;
import com.chencheng.utils.LoginStatus;
import com.chencheng.utils.MyToast;
import com.xinbo.utils.SMSCodeBMobUtils;
public class ShoujiDengruActivity extends ActionBarActivity {
private EditText et_number;
private EditText et_code;
private Button yanzhengma_fasong;
private Button btn_find_back_yanzhengbindengl;
private String number;
private String code;
private String mSmsID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shouji_dengru);
initActionBar();
initUi();
}
private void initUi() {
et_number=(EditText)findViewById(R.id.mobile);
et_code=(EditText)findViewById(R.id.yanzhengma_val);
yanzhengma_fasong=(Button)findViewById(R.id.yanzhengma_fasong);
yanzhengma_fasong.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
number = et_number.getText().toString();
//1、调用请求验证码接口
SMSCodeBMobUtils.requestSmsCode(ShoujiDengruActivity.this, number, new RequestSMSCodeListener() {
@Override
public void done(Integer smsId,BmobException ex) {
if(!TextUtils.isEmpty(number)){
if(ex==null){//验证码发送成功
// 验证码发送成功
mSmsID = smsId+"";
MyToast.makeText(ShoujiDengruActivity.this,"验证码发送成功,短信id:" + smsId);// 用于查询本次短信发送详情
daojishi(yanzhengma_fasong);
}
else{
MyToast.makeText(ShoujiDengruActivity.this,"验证码发送失败" );
}
}else{
et_number.setError("请输入电话号码");
}
}
});
}
});
btn_find_back_yanzhengbindengl=(Button)findViewById(R.id.btn_find_back_yanzhengbindengl);
btn_find_back_yanzhengbindengl.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
signOrLoginByPhoneNumber();
}
});
}
private void initActionBar() {
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setBackgroundDrawable(getResources().getDrawable(
R.color.action_white));
actionBar.setTitle("手机快捷登录");
}
@Override
public boolean onSupportNavigateUp() {
finish();
return super.onSupportNavigateUp();
}
private void signOrLoginByPhoneNumber(){
number = et_number.getText().toString();
code = et_code.getText().toString();
if(!TextUtils.isEmpty(number)&&!TextUtils.isEmpty(code)){
//2、使用手机号和短信验证码进行一键注册登录
BmobUser.signOrLoginByMobilePhone(this, number, code, new LogInListener<User>() {
@Override
public void done(User user, BmobException e) {
// TODO Auto-generated method stub
if(user!=null){
MyToast.makeText(ShoujiDengruActivity.this,"登录成功");
Log.i("ShoujiDengru", ""+user.getUsername()+"-"+user.getObjectId()+"-"+user.getPassword());
LoginStatus.getInstance().setHasLogin(true);
Intent intent=new Intent(ShoujiDengruActivity.this,MainActivity.class);
intent.putExtra("flag", "hasLogin");
startActivity(intent);
}else{
MyToast.makeText(ShoujiDengruActivity.this,"错误码:"+e.getErrorCode()+",错误原因:"+e.getLocalizedMessage());
}
}
});
}else{
MyToast.makeText(ShoujiDengruActivity.this,"请输入手机号和验证码");
}
}
private void daojishi(final Button button) {
new Handler().postDelayed(new Runnable() {
int i=60;
@Override
public void run() {
if(i>0)
{
button.setText(i+"秒");
button.setEnabled(false);
i--;
//Log.e("run", i+"");
new Handler().postDelayed(this, 1000);
}
if(i==0)
{
button.setText( "发送验证码");
button.setEnabled(true);
}
}
}, 1000);
}
}