Android快速SDK(21)免费短信验证码库MobSms【肌肉记忆,分钟接入】

本文主要是介绍Android快速SDK(21)免费短信验证码库MobSms【肌肉记忆,分钟接入】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

代码:http://download.csdn.net/detail/huangbin95487710/9260661

依赖包模式

完整运行还需要用到以下依赖包

  • Android快速SDK(1)基础工具库QuickBase
基于mob短信SDK再次封装

  1. 新特性配置支持
    • 配置默认国家
    • 配置自动拦截下发验证码
    • 配置自动验证
    • 属性
    •     <declare-styleable name="SmsStyle"><!-- mod验证key --><attr name="Sms_AppKey" format="string" /><!-- mod验证Secret --><attr name="Sms_AppSecret" format="string" /><!-- 国家ID --><attr name="Sms_Current_Id" format="string" /><!-- 发送验证码对话框 --><attr name="Sms_Send_Dialog" format="boolean" /><!-- 自动获取验证码 --><attr name="Sms_Auto_Get_Code" format="boolean" /><!-- 自动校验验证码 --><attr name="Sms_Auto_Submit_Code" format="boolean" /></declare-styleable>

    • 默认样式
    •     <style name="DivSmsStyle"><item name="Sms_AppKey">5e710c466320</item><item name="Sms_AppSecret">8b315e878615acc43ca421092c949a57</item><item name="Sms_Current_Id">42</item> <!-- 中国地区 --><item name="Sms_Send_Dialog">true</item><item name="Sms_Auto_Get_Code">true</item><item name="Sms_Auto_Submit_Code">true</item></style>

  2. AndroidManifest.xml添加配置
    •  <!-- ###################短信验证################### --><activityandroid:name="cn.smssdk.SMSSDKUIShell"android:configChanges="keyboardHidden|orientation|screenSize"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:windowSoftInputMode="stateHidden|adjustResize" /><!-- ###################短信验证################### --><!-- ###################短信验证权限################### --><!-- uses-permission android:name="android.permission.READ_CONTACTS" / --><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.RECEIVE_SMS" /><!-- ###################短信验证权限################### -->

  3. 添加混淆,详见依赖包proguard.cfg
  4. 代码
    • 布局
    • <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/ll"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"android:padding="15dip" ><Buttonandroid:id="@+id/button1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginBottom="15dip"android:text="发送验证码" /></LinearLayout>

    • 自定义样式
    • <?xml version="1.0" encoding="utf-8"?>
      <resources xmlns:android="http://schemas.android.com/apk/res/android"><!-- 重写样式 --><style name="MyDivSmsStyle" parent="@style/DivSmsStyle"><item name="Sms_AppKey">5e710c466320</item><item name="Sms_AppSecret">8b315e878615acc43ca421092c949a57</item><item name="Sms_Current_Id">42</item> <!-- 中国地区 --><item name="Sms_Send_Dialog">false</item><item name="Sms_Auto_Get_Code">true</item><item name="Sms_Auto_Submit_Code">true</item></style></resources>

    • 代码
    • package cn.whonow.whonow.sms;import General.System.MyLog;
      import General.View.Sms.SmsBasic;
      import General.View.Sms.VerificationCodeListener;
      import android.app.Activity;
      import android.os.Bundle;
      import android.view.View;
      import android.view.View.OnClickListener;
      import android.widget.Button;
      import cn.whonow.whonow.R;/*** 短信验证码 必须实现VerificationCodeListener接口* * @author HuangYi QQ:95487710*/
      public class SmsActivity extends Activity implements VerificationCodeListener {private SmsBasic mSmsBasic;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test_sms);mSmsBasic = new SmsBasic(this, this);Button mButtonTxt = (Button) findViewById(R.id.button1);mButtonTxt.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubmSmsBasic.sendCode("10086");}});}@Overridepublic void onPause() {// TODO Auto-generated method stubsuper.onPause();if (mSmsBasic != null) {mSmsBasic.onPause();}}@Overridepublic void onResume() {// TODO Auto-generated method stubsuper.onResume();if (mSmsBasic != null) {mSmsBasic.onResume();}}@Overridepublic void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();if (mSmsBasic != null) {mSmsBasic.onDestroy();}}@Overridepublic void doSmsSucess() {// TODO Auto-generated method stubMyLog.show(this, "操作成功!");}@Overridepublic void doSmsError(String mError) {// TODO Auto-generated method stubMyLog.show(this, mError);}@Overridepublic void doSmsInterrupt() {// TODO Auto-generated method stubMyLog.show(this, "操作中断");}@Overridepublic int getSmsStyleID() {// TODO Auto-generated method stubreturn R.style.MyDivSmsStyle;}@Overridepublic void doGetCodeSucess() {// TODO Auto-generated method stubMyLog.show(this, "验证码下发成功!");}@Overridepublic void doAutoGetCode(String mCode) {// TODO Auto-generated method stubMyLog.show(this, "获取验证码:" + mCode);}}
      

  5. 效果图

这篇关于Android快速SDK(21)免费短信验证码库MobSms【肌肉记忆,分钟接入】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/196584

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh