天天看點

Android SMSSDK無GUI接口內建方法

一、無GUI接口概述

本文隻介紹短信SDK内置(無界面)方法的使用和注意事項,如果您想查閱有界面的操作方法,請參考

http://wiki.mob.com/sdk-sms-android-3-0-0/

相關章節的說明。

盡管短信SDK提供了簡化內建步驟的GUI功能,但它同樣允許開發者放棄這套GUI,直接與核心代碼進行互動。

請先按照

下載下傳并內建短信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、初始化接口

Android SMSSDK無GUI接口內建方法
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、短信驗證碼接口

Android SMSSDK無GUI接口內建方法

其中OnSendMessageHandler的定義如下,這個Handler的用途是在發送短信之前,開發者自己執行一個操作,來根據電話号碼判斷是否需要發送短信

public interface OnSendMessageHandler {
    /** 
     * 此方法在發送驗證短信前被調用,傳入參數為接收者号碼
     * 傳回true表示此号碼無須實際接收短信
     */
 
    public boolean onSendMessage(String country, String phone);
 
}
           

短信SDK并不能支援世界上所有國家的短信驗證服務,是以我們提供了getSupportedCountries方法,在使用短信驗證碼功能前請調用此方法,擷取目前SDK可以支援的國家清單和号碼比對規則。

getVerificationCode用于向伺服器請求發送驗證碼的服務,需要傳遞國家代号和接收驗證碼的手機号碼,支援此服務的國家代碼在 getSupportedCountries中擷取。請求getVerificationCode的時間間隔不應該小于60秒,否則服務端會傳回“操作過 于頻繁”的錯誤

submitVerificationCode用于向伺服器送出接收到的短信驗證碼,驗證成功後會通過EventHandler傳回國家代碼和電話号碼。