SMSSDK无GUI集成

直接贴代码

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();
    }
}
时间: 2024-12-28 22:03:31

SMSSDK无GUI集成的相关文章

在osx下通过vmware无GUI方式运行centos 7

启动虚拟机: /Applications/VMware\ Fusion.app/Contents/Library/vmrun -T fusion start "CentOS 64-bit.vmwarevm" nogui 停止虚拟机: /Applications/VMware\ Fusion.app/Contents/Library/vmrun -T fusion stop "CentOS 64-bit.vmwarevm" hard

mob短信验证码SMSSDK的使用

版权声明:本文是博主原创文章,未经博主允许的情况下请勿随便转载. 首先,很多第三方短信验证码都可以,为什么我要选择mob的呢? 因为mob 的短信验证码是完全免费,完~全~免~费~,所以老大就让我用它 其实,个人感觉mob 的短信验证发生时间很不稳定,会延迟,而且未审核之前一个手机号一天只允许请求5次,一个mob账号一天最多发送20次. 使用起来效率可能会相对比较低,但是,它是完~全~免~费~的~~~ 请求流程: 1. 以用户提供的手机号码作为参数,请求连接到SMSSDK的服务器 2. SMSS

Android开发:app工程集成mob短信验证码功能

一.前言 现在的app基本上都需要用到短信功能,注册时或者有消息通知时需要给用户发送一条短信,但是对于个人开发者来说,去买第三方的短信服务实在是有点奢侈,很好的是mob为我们提供了免费的短信验证码服务功能,我不是打广告,的确觉得这项服务很不错.那么下面就简单讲一下如何在自己的工程里集成mob的短信功能,其实整个流程并不复杂,只是个人觉得mob的官方文档有点小乱,官方Demo也有点小复杂,同时有一些细节地方容易被忽视,也会导致一些问题. PS:太喜欢mob的logo了. 二.实现过程 本篇只涉及A

android_app开发集成mob短信验证码功能

一.前言 现在的app基本上都需要用到短信功能,注册时或者有消息通知时需要给用户发送一条短信,但是对于个人开发者来说,去买第三方的短信服务实在是有点奢侈,很好的是mob为我们提供了免费的短信验证码服务功能,我不是打广告,的确觉得这项服务很不错.那么下面就简单讲一下如何在自己的工程里集成mob的短信功能,其实整个流程并不复杂,只是个人觉得mob的官方文档有点小乱,官方Demo也有点小复杂,同时有一些细节地方容易被忽视,也会导致一些问题. PS:太喜欢mob的logo了. 二.实现过程 本篇只涉及A

安卓 短信验证MobSMS集成

概念及原理 了解MobSMS 主要API 初始化接口 短信验证接口 短信验证回调 代码部分 MobSMS添加到项目中: S1.下载官方SDK文件link: S2.添加并配置SDK库文件: 添加aar/jar文件到\app\libs项目目录 配置build.gradle repositories{ flatDir{ dirs 'libs' // SMSSDK-2.1.4.aar/SMSSDKGUI-2.1.4.aar文件目录 } } dependencies { compile fileTree(

性能测试--Jmeter的Non GUI模式、集群

Jmeter的Non GUI模式.集群 一.Non GUI模式 1.一般情况下在NonGUI模式下运行jmeter,有两个好处: 节省系统资源,能够产生更大的负载 可以通过命令行参数对测试场景进行更精细的配置 2.示例: 使用上一篇博文中smile task的查看所有task的脚本作为例子演示non gui模式 jmeter -n -t scripts/c7/all_tasks.jmx -l scripts/c7/all_tasks_res.jtl -e -o scripts/c7/report

无服务器架构安全挑战

一个典型例子是新浪微博服务,在突然出现爆发事件时候(比如明星新闻),其流量可能是平时几百甚至上千倍,对这样的爆发流量用传统的扩容方式根本满足不了需求,也没有那么多资源,新浪的解决方法是私有云+租赁公有云方式,花钱利用阿里云实现峰值时服务扩容.对于一般企业则可以完全利用租赁第三方云服务方式构建自己服务模式,自己无需维护任何硬件设备和基础后端软件服务,这样的架构叫Serverless ,即"无服务器"架构. 无服务器架构安全挑战无服务器架构安全挑战 无服务器架构可以让企业实现更灵活和更具成

Mob短信验证的具体使用

原文著作权地址:http://www.jb51.net/article/84946.htm 一.前言 现在的app基本上都需要用到短信功能,注册时或者有消息通知时需要给用户发送一条短信,但是对于个人开发者来说,去买第三方的短信服务实在是有点奢侈,很好的是mob为我们提供了免费的短信验证码服务功能,我不是打广告,的确觉得这项服务很不错.那么下面就简单讲一下如何在自己的工程里集成mob的短信功能,其实整个流程并不复杂,只是个人觉得mob的官方文档有点小乱,官方Demo也有点小复杂,同时有一些细节地方

Windows操作系统

Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统. Windows采用了图形化模式GUI,比起从前的DOS需要键入指令使用的方式更为人性化.随着电脑硬件和软件的不断升级,微软的Windows也在不断升级,从架构的16位.32位再到64位, 系统版本从最初的Windows 1.0 到大家熟知的Windows 95.Windo