Android实现获取短信验证码的功能以及自定义GUI短信验证文档格式.docx

上传人:b****7 文档编号:22378333 上传时间:2023-02-03 格式:DOCX 页数:15 大小:85.16KB
下载 相关 举报
Android实现获取短信验证码的功能以及自定义GUI短信验证文档格式.docx_第1页
第1页 / 共15页
Android实现获取短信验证码的功能以及自定义GUI短信验证文档格式.docx_第2页
第2页 / 共15页
Android实现获取短信验证码的功能以及自定义GUI短信验证文档格式.docx_第3页
第3页 / 共15页
Android实现获取短信验证码的功能以及自定义GUI短信验证文档格式.docx_第4页
第4页 / 共15页
Android实现获取短信验证码的功能以及自定义GUI短信验证文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Android实现获取短信验证码的功能以及自定义GUI短信验证文档格式.docx

《Android实现获取短信验证码的功能以及自定义GUI短信验证文档格式.docx》由会员分享,可在线阅读,更多相关《Android实现获取短信验证码的功能以及自定义GUI短信验证文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

Android实现获取短信验证码的功能以及自定义GUI短信验证文档格式.docx

compile'

com.android.support:

appcompat-v7:

21.0.3'

compilename:

'

SMSSDK-2.0.2'

ext:

aar'

SMSSDKGUI-2.0.2'

2、配置AndroidManifest.xml

打开您项目的“AndroidManifest.xml”,在其中添加如下的权限:

<

uses-permissionandroid:

name="

android.permission.READ_CONTACTS"

/>

android.permission.READ_PHONE_STATE"

android.permission.WRITE_EXTERNAL_STORAGE"

android.permission.ACCESS_NETWORK_STATE"

android.permission.ACCESS_WIFI_STATE"

android.permission.INTERNET"

android.permission.RECEIVE_SMS"

android.permission.GET_TASKS"

android.permission.ACCESS_FINE_LOCATION"

如果使用自带的GUI,需要再“application”下添加如下activity:

activity

android:

com.mob.tools.MobUIShell"

theme="

@android:

style/Theme.Translucent.NoTitleBar"

configChanges="

keyboardHidden|orientation|screenSize"

windowSoftInputMode="

stateHidden|adjustResize"

/>

3、添加代码

启动SDK

在您的项目启动时,调用下面的代码:

SMSSDK.initSDK(this,"

您的appkey"

"

您的appsecret"

);

发送短信验证码

短信SDK内置了开源的GUI功能,您可以通过调用下面的代码打开短信验证页面:

//打开注册页面

RegisterPageregisterPage=newRegisterPage();

registerPage.setRegisterCallback(newEventHandler(){

publicvoidafterEvent(intevent,intresult,Objectdata){

//解析注册结果

if(result==SMSSDK.RESULT_COMPLETE){

@SuppressWarnings("

unchecked"

HashMap<

String,Object>

phoneMap=(HashMap<

String,Object>

)data;

Stringcountry=(String)phoneMap.get("

country"

Stringphone=(String)phoneMap.get("

phone"

//提交用户信息

registerUser(country,phone);

});

registerPage.show(context);

privatevoidregisterUser(Stringcountry,Stringphone){

Randomrnd=newRandom();

intid=Math.abs(rnd.nextInt());

Stringuid=String.valueOf(id);

StringnickName="

SmsSDK_User_"

+uid;

Stringavatar=AVATARS[id%12];

SMSSDK.submitUserInfo(uid,nickName,avatar,country,phone);

其中的AVATARS就是一个字符串数组,里面是头像的网络链接而已,这些在下载的SDKDEMO中可查看。

4、下面看看如何自定义GUI短信验证而不是调用系统的

设计我们的布局文件:

RelativeLayoutxmlns:

android="

xmlns:

tools="

android:

layout_width="

match_parent"

layout_height="

tools:

context="

.MainActivity"

>

<

TextView

id="

@+id/textView2"

wrap_content"

layout_centerHorizontal="

true"

layout_marginTop="

20dp"

text="

短信验证"

textColor="

#00ffaa"

textSize="

@+id/textView1"

layout_alignParentLeft="

layout_below="

layout_marginLeft="

手机号:

"

EditText

@+id/phone"

layout_alignBaseline="

layout_alignBottom="

layout_toRightOf="

maxLength="

11"

ems="

inputType="

requestFocus/>

/EditText>

@+id/textView3"

layout_alignLeft="

40dp"

验证码:

@+id/cord"

4"

Button

@+id/getcord"

style="

?

attr/buttonStyleSmall"

layout_alignTop="

10dp"

visibility="

visible"

获取验证码"

@+id/savecord"

fill_parent"

layout_margin="

验证"

@+id/now"

layout_above="

gravity="

center_horizontal"

gone"

提示信息"

#aaaaaa"

/RelativeLayout>

一个主Activity代码如下:

publicclassMainActivityextendsActivityimplementsOnClickListener{

privateEditTextphone;

privateEditTextcord;

privateTextViewnow;

privateButtongetCord;

privateButtonsaveCord;

privateStringiPhone;

privateStringiCord;

privateinttime=60;

privatebooleanflag=true;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

init();

    SMSSDK.initSDK(this,"

您的appkey>

您的appsecret>

EventHandlereh=newEventHandler(){

publicvoidafterEvent(intevent,intresult,Objectdata){

Messagemsg=newMessage();

msg.arg1=event;

msg.arg2=result;

msg.obj=data;

handler.sendMessage(msg);

};

SMSSDK.registerEventHandler(eh);

privatevoidinit(){

phone=(EditText)findViewById(R.id.phone);

cord=(EditText)findViewById(R.id.cord);

now=(TextView)findViewById(R.id.now);

getCord=(Button)findViewById(R.id.getcord);

saveCord=(Button)findViewById(R.id.savecord);

getCord.setOnClickListener(this);

saveCord.setOnClickListener(this);

publicvoidonClick(Viewv){

switch(v.getId()){

caseR.id.getcord:

if(!

TextUtils.isEmpty(phone.getText().toString().trim())){

if(phone.getText().toString().trim().length()==11){

iPhone=phone.getText().toString().trim();

SMSSDK.getVerificationCode("

86"

iPhone);

cord.requestFocus();

getCord.setVisibility(View.GONE);

}else{

Toast.makeText(MainActivity.this,"

请输入完整电话号码"

Toast.LENGTH_LONG)how();

phone.requestFocus();

请输入您的电话号码"

Toast.LENGTH_LONG).show();

break;

caseR.id.savecord:

TextUtils.isEmpty(cord.getText().toString().trim())){

if(cord.getText().toString().trim().length()==4){

iCord=cord.getText().toString().trim();

SMSSDK.submitVerificationCode("

iPhone,iCord);

flag=false;

请输入完整验证码"

请输入验证码"

default:

//验证码送成功后提示文字

privatevoidreminderText(){

now.setVisibility(View.VISIBLE);

handlerText.sendEmptyMessageDelayed(1,1000);

HandlerhandlerText=newHandler(){

publicvoidhandleMessage(Messagemsg){

if(msg.what==1){

if(time>

0){

now.setText("

验证码已发送"

+time+"

秒"

time--;

time=60;

now.setVisibility(View.GONE);

getCord.setVisibility(View.VISIBLE);

cord.setText("

Handlerhandler=newHandler(){

//TODOAo-generatedmethodstub

super.handleMessage(msg);

intevent=msg.arg1;

intresult=msg.arg2;

Objectdata=msg.obj;

Log.e("

event"

event="

+event);

if(result==SMSSDK.RESULT_COMPLETE){

//短信注册成功后,返回MainActivity,然后提示新好友

if(event==SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE){//提交验证码成功,验证通过

Toast.makeText(getApplicationContext(),"

验证码校验成功"

Toast.LENGTH_SHORT).show();

handlerText.sendEmptyMessage

(2);

}elseif(event==SMSSDK.EVENT_GET_VERIFICATION_CODE){//服务器验证码发送成功

reminderText();

验证码已经发送"

}elseif(event==SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){//返回支持发送验证码的国家列表

获取国家列表成功"

}else{

if(flag){

验证码获取失败,请重新获取"

T

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1