开发者社区> 皮皮酱ye> 正文

Android SMSSDK无GUI接口集成方法

简介:
+关注继续查看

一、无GUI接口概述
本文只介绍短信SDK内置(无界面)方法的使用和注意事项,如果您想查阅有界面的操作方法,请参考http://wiki.mob.com/sdk-sms-android-3-0-0/相关章节的说明。
尽管短信SDK提供了简化集成步骤的GUI功能,但它同样允许开发者放弃这套GUI,直接与核心代码进行交互。
请先按照 http://wiki.mob.com/sdk-sms-android-3-0-0/下载并集成短信SDK。
注意:如果版本等于2.0.1,要将SMSSDK的res下的raw复制到你的工程的res下;另外有些较老的版本需要复制libsmssdk.so。2.1.2开始(包括)eclipse不再需要配置so。
其中对外主要的类有:SMSSDK和EventHandler,所有的操作都通过SMSSDK来发起,并通过EventHandler来接收。由于EventHandler已有SMSSDK操作回调章节(http://wiki.mob.com/android-%E7%9F%AD%E4%BF%A1sdk%E6%93%8D%E4%BD%9C%E5%9B%9E%E8%B0%83/)讲述,因此本节之着重介绍SMSSDK的各个方法。
二、无GUI接口说明
2.1、初始化接口
1
registerEventHandler用来往SMSSDK中注册一个事件接收器,SMSSDK允许开发者注册任意数量的接收器,所有接收器都会在事件 被触发时收到消息。

        EventHandler eh=new EventHandler(){
 
            @Override
            public void afterEvent(int event, int result, Object data) {
 
               if (result == SMSSDK.RESULT_COMPLETE) {
                //回调完成
                if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
                //提交验证码成功
                }else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){
                //获取验证码成功
                }else if (event ==SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){
                //返回支持发送验证码的国家列表
                } 
              }else{                                                                 
                 ((Throwable)data).printStackTrace(); 
          }
      } 
   }; 
SMSSDK.registerEventHandler(eh); //注册短信回调

registerEventHandler必须和unregisterEventHandler配套使用,否则可能造成内存泄漏。
2.2、短信验证码接口

2
其中OnSendMessageHandler的定义如下,这个Handler的用途是在发送短信之前,开发者自己执行一个操作,来根据电话号码判断是否需要发送短信

public interface OnSendMessageHandler {
    /** 
     * 此方法在发送验证短信前被调用,传入参数为接收者号码
     * 返回true表示此号码无须实际接收短信
     */
 
    public boolean onSendMessage(String country, String phone);
 
}

短信SDK并不能支持世界上所有国家的短信验证服务,因此我们提供了getSupportedCountries方法,在使用短信验证码功能前请调用此方法,获取当前SDK可以支持的国家列表和号码匹配规则。
getVerificationCode用于向服务器请求发送验证码的服务,需要传递国家代号和接收验证码的手机号码,支持此服务的国家代码在 getSupportedCountries中获取。请求getVerificationCode的时间间隔不应该小于60秒,否则服务端会返回“操作过 于频繁”的错误
submitVerificationCode用于向服务器提交接收到的短信验证码,验证成功后会通过EventHandler返回国家代码和电话号码。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android Studio无法执行Java main方法的问题
Android Studio无法执行Java main方法的问题
36 0
flutter中实现仿Android端的onResume和onPause方法
flutter中实现仿Android端的onResume和onPause方法
130 0
Android在子线程中更新UI的方法汇总(共七种)
Android在子线程中更新UI的方法汇总(共七种)
70 0
Android 踩坑记录,用.split()方法分割字符串返回null
Android 踩坑记录,用.split()方法分割字符串返回null
41 0
android中的提示信息显示方法(toast应用)
android中的提示信息显示方法(toast应用)
54 0
Android关于Bitmap的缩放方法
最近要将图片传给服务器,但是服务器限制了图片的大小,所以我查询了许多相关文章,现在将其罗列出来。
390 0
Android 横屏全屏方法
Android 横屏全屏方法
40 0
Android Studio获取开发版SHA1值和发布版SHA1值的史上最详细方法
今天我想把百度地图的定位集成到项目中来,想写个小小的案例,实现一下,但在集成百度地图时首先要申请秘钥,申请秘钥要用到SHA1值,所以今天就来总结一下怎样去获取这个值吧,希望对大家有帮助。
351 0
Android开发:获取安卓App版本号的方法步骤
在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版本号就是必须要有的功能。Android的App版本号相关内容比iOS的App版本号内容要多,而且iOS版的App版本信息跟Android的还不一样。本篇文章就来介绍一下Android开发中获取App版本号的方法步骤,方便以后使用。获取App版本号常用的有两个方法,这两种方式都能获取到系统版本号,请根据实际需求或者偏好来选择任何一种方法即可。
606 0
Android开发:获取当前系统时间和日期的方法
最近接手了公司的一个Android项目,一直在处理Android项目的App的开发,作为半路起家来说,总结了一些Android开发的心得和知识点,然后就写下来记录一下,分享给有需要的开发者查阅交流。那么本篇博文就来分享一下在Android开发过程中,涉及到获取系统当前日期和时间的方法,知识点虽然很常见,但是很实用。
919 0
+关注
皮皮酱ye
一名集美貌与才华的女子
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android开发之多进程架构
立即下载