直接贴代码
package com.msg.lyxin.myapplication_smssdk;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.HashMap;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
public class MainActivity extends Activity {
Button button;
private EditText et1, et2;
private String phoneNum;
private static String APPKEY = "15cc34e918b46";
private static String APPSECRET = "d7bc5860002819a41b07fed8470cd127";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1 = (EditText) findViewById(R.id.number);
et2 = (EditText) findViewById(R.id.key);
button = (Button) findViewById(R.id.button);
SMSSDK.initSDK(this, APPKEY, APPSECRET);
SMSSDK.registerEventHandler(eh);
}
private EventHandler eh = new EventHandler() {
@Override
public void afterEvent(int event, int result, Object data) {//提交验证码成功,如果验证成功会在data里返回数据。data数据类型为HashMap<number,code>
if (result == SMSSDK.RESULT_COMPLETE) {
//回调完成
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
//提交验证码成功
HashMap<String, Object> mData = (HashMap<String, Object>) data;
String country = (String) mData.get("country");//返回的国家编号
String phone = (String) mData.get("phone");//返回用户注册的手机号
if (phone.equals(phoneNum)) {
runOnUiThread(new Runnable() {//更改ui的操作要放在主线程,实际可以发送hander
@Override
public void run() {
Toast.makeText(MainActivity.this, "通过验证", Toast.LENGTH_SHORT).show();
}
});
} else {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, "验证失败", Toast.LENGTH_SHORT).show();
}
});
}
} else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {
//获取验证码成功
} else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) {
//返回支持发送验证码的国家列表
}
} else {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, "验证失败", Toast.LENGTH_SHORT).show();
}
});
((Throwable) data).printStackTrace();
}
}
};
public void getSecurity(View v) {
phoneNum = et1.getText().toString().trim();
//发送短信,传入国家号和电话---使用SMSSDK核心类之前一定要在MyApplication中初始化,否侧不能使用
if (TextUtils.isEmpty(phoneNum)) {
Toast.makeText(this, "号码不能为空!", Toast.LENGTH_SHORT).show();
} else {
SMSSDK.getVerificationCode("+86", phoneNum);
Toast.makeText(this, "发送成功:" + phoneNum, Toast.LENGTH_SHORT).show();
}
}
public void testSecurity(View v) {
String security = et2.getText().toString();
if (!TextUtils.isEmpty(security)) {
//提交短信验证码
SMSSDK.submitVerificationCode("+86", phoneNum, security);//国家号,手机号码,验证码
} else {
Toast.makeText(this, "验证码不能为空", Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
//要在activity销毁时反注册,否侧会造成内存泄漏问题
SMSSDK.unregisterAllEventHandler();
}
}
原文:http://www.cnblogs.com/lyxin/p/5803454.html