`
ch_kexin
  • 浏览: 903669 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

无GUI接口调用

 
阅读更多

1、无GUI接口概述

github demo,旧版SMSDemo
本文只介绍短信SDK内置(无界面)方法的使用和注意事项,如果您想查阅有界面的操作方法,请参考“短信SDK集成文档”相关章节的说明。

尽管短信SDK提供了简化集成步骤的GUI功能,但它同样允许开发者放弃这套GUI,直接与核心代码进行交互。
Studio: MobCommons-xxx.jar,MobTools-xxx.jar,SMSSDK-<版本号>.aar
Eclipse:短信SDK的核心代码存放于 SMSSDK/libs中的“SMSSDK-<版本号>.jar”,集成的时候除了将SMSSDK-<版本号>.jar复制到自己的工程libs下,还要复制MobCommons-xxx.jar,MobTools-xxx.jar和资源文件,还有SMSSDK的res下的raw要复制到你的工程的res下;如果版本小于2.0.1,不用复制raw,另外要复制libsmssdk.so。
其中对外主要的类有:SMSSDK和EventHandler,所有的操 作都通过SMSSDK来发起,并通过EventHandler来接收。由于EventHandler已有SMSSDK操作回调章节讲述,因此本节之着重介绍SMSSDK的各个方法。

 

2、无GUI接口说明

2.1、初始化接口

限定符和类型 方法和说明
static void initSDK(Context context, String appkey, String appSecrect)
初始化SDK,单例,可以多次调用;任何方法调用前,必须先初始化
static void registerEventHandler(EventHandler handler)
注册回调接口
static void unregisterEventHandler(EventHandler handler)
注销回调接口

initSDK方法是短信SDK的入口,需要传递您从ShareSDK应用管理后台中注册的应用AppKey和AppSecrete,如果填写错误,后续的操作都将不能进行。
registerEventHandler用来往SMSSDK中注册一个事件接收器,SMSSDK允许开发者注册任意数量的接收器,所有接收器都会在事件 被触发时收到消息。

SMSSDK.initSDK(this,APPKEY,APPSECRET);
		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、短信验证码接口

限定符和类型 方法和说明
static void getSupportedCountries()
获取短信目前支持的国家列表,在监听中返回
static void getVerificationCode(String country, String phone)
请求获取短信验证码,在监听中返回
static void submitVerificationCode(String country, String phone, String code)
提交短信验证码,在监听中返回

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

2.3、用户接口

限定符和类型 方法和说明
static void submitUserInfo(String uid, String nickname, String avatar, String country, String phone)
提交用户信息,在监听中返回
static void getNewFriendsCount()
获取应用内新增加的好友数,在监听中返回
static void getFriendsInApp()
获取应用内的好友列表,在监听中返回

短信SDK的短信验证码功能可以当作是一个“第三方登录”的功能,通过检验验证码可以得到手机号码的准确性,确认了用户身份以后就可以执行登录和注 册了。注册用户以后,开发者可以通过调用submitUserInfo方法向我们的服务器提交用户资料,提交的资料将当作“通信录好友”功能的建议资料。
提交了用户资料以后即可以通过调用getNewFriendsCount获取当前设备通信录于您应用内的用户数量。并且可以通过getFriendsInApp获取本设备通信录于当前应用内的用户列表。

2.4、语音验证码接口

限定符和类型 方法和说明
static void 2.0.0以下版本第一个参数为手机号。 

 

getVoiceVerifyCode(String phone , String country)

为了与发送文本保持一致。2.0.0与之后的改成第一个为国家代码。

getVoiceVerifyCode(String country,String phone)
请求语音验证码,在监听中返回

getVoiceVerifyCode方法主要用于在短信接收比较慢的情况下的第二种选择,需要传递国家代号和接收验证码的手机号码,语音验证码将会以电话语音的方式获取。

分享到:
评论

相关推荐

    GUI单据调用扩展报表注意事项

    GUI单据调用扩展报表是企业信息化系统中常见的一种功能,允许用户在图形用户界面(GUI)中直接访问和执行自定义的报表。这个过程涉及到多个关键知识点,包括报表ID、报表名称、子系统路径、组织ID以及调用报表的接口...

    Linux详细教程和用户接口(GUI)编程技术

    本书介绍了Linux下图形用户接口(GUI)编程技术。全书共18章,分五个部分。第一部分介绍Linux GUI编程架构以及编程基础知识,第二部分介绍Linux 编程常用C语言函数库glibc、构件库Gtk+、Gnome,第三部分介绍Linux下...

    java使用win32api创建gui窗体

    综上所述,这个项目涉及到的技术点包括:Java JNI接口、Win32 API调用、C/C++ DLL的编写、Java GUI基础、自定义图像处理以及可能的多平台适配。通过这个项目,开发者可以深入理解Java与本地代码交互的方式,以及如何...

    java GUI 事件监听

    ### Java GUI 事件监听知识点详解 #### 一、概述 在Java编程中,图形用户界面(GUI)的设计是一项重要的技能。对于初学者来说,掌握如何创建一个简单的界面,并且能够处理用户交互事件是非常必要的。本篇文章将...

    在ATL服务器DLL嵌入MFC GUI接口.rar

    7. 暴露接口:为了使其他应用程序能够访问这个GUI接口,你需要在ATL的接口中定义适当的函数,允许外部调用者创建、显示和控制GUI。 8. 测试和调试:编写测试代码或使用COM客户端来调用ATL服务器DLL,确保GUI界面能...

    GUI讲解(超类,接口,组件)

    Java使用事件监听器模型,通过实现特定的监听器接口,我们可以注册到组件上,当特定事件发生时,监听器的相应方法会被调用。例如,我们可以通过实现`ActionListener`来处理按钮的点击事件。 最后,Swing还提供了...

    百度翻译接口调用实例

    以“百度翻译接口调用实例”为例,这是一个演示如何利用百度翻译API进行在线翻译的项目。百度翻译API提供了丰富的功能,包括文本翻译、语音翻译、词汇查询等,广泛应用于各种应用场景,如网站、应用、智能设备等。 ...

    基于PyQt5调用百度API接口的OCR识别.rar

    【标题】基于PyQt5调用百度API接口的OCR识别 在计算机视觉领域,OCR(Optical Character Recognition,光学字符识别)技术被广泛应用于将图像中的文字转换为可编辑的文本。本项目是利用PyQt5这个强大的Python GUI库...

    虾皮shopee 协议,包含搜索接口调用实例

    其协议涉及到API调用,特别是搜索接口的使用,是开发者和研究人员关注的重点。在处理虾皮Shopee的API调用时,有以下几个关键知识点需要理解: 1. **错误处理**:当频繁访问虾皮Shopee的API时,系统可能会返回418...

    调试SapRFC接口的工具

    3. 性能监控:记录接口调用的时间和资源消耗,以评估是否满足性能需求。 4. 数据一致性:验证接口调用后SAP系统内数据的正确性。 在实际操作中,可能还需要结合SAP的其他技术,如IDoc、Web Service等,以及ABAP编程...

    易语言调用Accessible接口例程

    在这个例子中,我们关注的是如何在易语言中调用`Accessible`接口,这是一种用于获取Windows应用程序中控件信息的技术,通常用于无障碍访问或者自动化测试。 `AccessibleObjectFromWindow`函数是Windows API中的一...

    Qt带GUI的C++调用cppflow(TensorFlow C++)接口实现手写数字识别(Mnist)

    无需CMake,Bazel编译Tensorflow,直接使用cppflow接口调用模型,代码注释详细

    另一个版本,MATLAB中通过GUI调用驱动Simulink模块和自定义函数

    GUI(图形用户界面)调用则是将用户友好的交互方式与Simulink模型结合,使得用户无需深入代码层面即可操作模型。这个"另一个版本"的主题意味着我们将探讨一种可能不同于常规方法的GUI与Simulink交互方式,特别是涉及...

    matlab 图像处理 GUI 摄像头拍照,代码

    首先,我们需要理解MATLAB中的摄像头接口。MATLAB通过VideoReader和VideoWriter类提供对摄像头的访问。在"Camera.m"中,我们可能会找到以下关键步骤: 1. **初始化摄像头**:MATLAB使用`videoinput`函数初始化...

    Translate_code_无GUI内嵌的翻译软件_

    标题 "Translate_code_无GUI内嵌的翻译软件_" 指向的是一个关于构建无图形用户界面(GUI)内嵌翻译功能的项目。这个项目利用了百度开放翻译平台的API来实现在代码层面进行文本的翻译,从而为用户提供了一种在程序...

    dat GUI

    例如,创建一个新的控制器只需调用`GUI.add()`方法,并传入目标对象、属性名和可选的参数。 4. **可定制化**:用户可以通过CSS来调整GUI的外观和布局,以适应不同的项目需求。此外,还可以通过扩展API来实现自定义...

    UC1698基于LPC2138的液晶驱动程序和GUI简易接口函数

    在压缩包中的"readme.txt"文件可能包含了关于如何使用这个驱动程序和GUI接口的详细说明,包括初始化步骤、函数调用方法以及可能遇到的问题解决方案。而"GUI"文件可能是源代码或者库文件,包含了实现这些功能的具体...

    DELPHI 调用SAP RFC 文档

    要使用 Delphi 调用 SAP RFC 函数,需要首先安装 SAP 客户端,包括安装 SAPGui 和 SAP SDK。SAPGui 是 SAP 的图形用户界面,而 SAP SDK 则提供了访问 SAP 系统的 API。 二、Delphi 中安装 ActiveX 部件 在 Delphi ...

    基于MATLAB GUI的BLDCM CAD系统的开发.pdf

    GUI不仅提供了一种可视化编程的方式,而且能够调用Simulink中的动态仿真模型,提供了方便的软件接口。 总结来说,基于MATLAB GUI的BLDCM CAD系统的开发,不仅提高了电机设计的效率和精度,还促进了电机设计方法的...

    GUI中用线程实现倒计时

    - 实现了两个`ActionListener`接口的匿名内部类,分别为“开始”和“停止”按钮定义了事件处理器。 - “开始”按钮的事件处理器根据用户输入的时间值启动倒计时线程。 - “停止”按钮的事件处理器调用了线程的`...

Global site tag (gtag.js) - Google Analytics