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返回国家代码和电话号码。

目录
相关文章
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
233 1
|
19天前
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
43 15
Android 系统缓存扫描与清理方法分析
|
19天前
|
Java 程序员 API
Android|集成 slf4j + logback 作为日志框架
做个简单改造,统一 Android APP 和 Java 后端项目打印日志的体验。
73 1
|
2月前
|
ARouter 测试技术 API
Android经典面试题之组件化原理、优缺点、实现方法?
本文介绍了组件化在Android开发中的应用,详细阐述了其原理、优缺点及实现方式,包括模块化、接口编程、依赖注入、路由机制等内容,并提供了具体代码示例。
44 2
|
2月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
150 0
|
3月前
|
开发者 算法 虚拟化
惊爆!Uno Platform 调试与性能分析终极攻略,从工具运用到代码优化,带你攻克开发难题成就完美应用
【8月更文挑战第31天】在 Uno Platform 中,调试可通过 Visual Studio 设置断点和逐步执行代码实现,同时浏览器开发者工具有助于 Web 版本调试。性能分析则利用 Visual Studio 的性能分析器检查 CPU 和内存使用情况,还可通过记录时间戳进行简单分析。优化性能涉及代码逻辑优化、资源管理和用户界面简化,综合利用平台提供的工具和技术,确保应用高效稳定运行。
83 0
|
3月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
全面解析TensorFlow Lite:从模型转换到Android应用集成,教你如何在移动设备上轻松部署轻量级机器学习模型,实现高效本地推理
【8月更文挑战第31天】本文通过技术综述介绍了如何使用TensorFlow Lite将机器学习模型部署至移动设备。从创建、训练模型开始,详细演示了模型向TensorFlow Lite格式的转换过程,并指导如何在Android应用中集成该模型以实现预测功能,突显了TensorFlow Lite在资源受限环境中的优势及灵活性。
212 0
|
Java Android开发
Android NDK开发系列教程3:基本方法调用及传参(续)
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 上一节主要讲解Java向native传参,下面主要讲解从native传相应的数据到java层。
1257 0
|
2天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
3天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。