2013-08-11 15:36:18 hunterno4 阅读数 27123
  • 短信接口开发手机验证

    短信接口开发手机验证码视频教程,该课程以PHP为开发工具,调用相关的短信接口,实现一个短信验证码的功能,课后会提供完整的课件和代码供你参考。手机实名后,让用户使用 手机 + 验证码 的方式可以很容易确定对方是一个真实的人,是一种防止机器人注册的方法。学习完后,你可以轻松的举一反三,实现短信群发,查询回复,找回密码等相关功能。

    5827 人正在学习 去看看 CSDN讲师

好吧,标题党了~

前言:android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码。

主要就是实时获取短信信息。

android上获取短信信息主要有BroadcastReceiver方式与数据库方式,要实时的话就BroadcastReceiver比较方便


如此当有短信收到时就可以将短信内容写到SD卡中的文件里

在另一个java类中写个读取文件内容的方法,并在写测试用例过程中,将得到的String按验证码的具体位置截取即可。


最后需要在manifest中增加申明,且注册权限

<receiver android:name="com.cplatform.surfdesktop.test.util.SMSReceiver">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>

 </receiver>

<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS"/>

测试过程中需要用到短信验证码时就可以实时获取了

2017-06-03 14:52:09 xiaoLP1 阅读数 412
  • 短信接口开发手机验证

    短信接口开发手机验证码视频教程,该课程以PHP为开发工具,调用相关的短信接口,实现一个短信验证码的功能,课后会提供完整的课件和代码供你参考。手机实名后,让用户使用 手机 + 验证码 的方式可以很容易确定对方是一个真实的人,是一种防止机器人注册的方法。学习完后,你可以轻松的举一反三,实现短信群发,查询回复,找回密码等相关功能。

    5827 人正在学习 去看看 CSDN讲师

Android SMSSDK短信验证

先看下效果:

点击注册按钮跳到注册界面:


1.



出现这几个jar包配置完成

接下来上代码

2.配置权限和初始化SMSSDK

 <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" />  
     <uses-permission android:name="android.permission.READ_SMS" />  
     <uses-permission android:name="android.permission.GET_TASKS" />  
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    
 <activity  
             android:name="com.mob.tools.MobUIShell"  
             android:configChanges="keyboardHidden|orientation|screenSize"  
             android:theme="@style/AppTheme"  
             android:windowSoftInputMode="stateHidden|adjustResize" />  
 MianActivity中代码
String APPKEY="1e60ebd0caeaa";
	String APPSECRET="7a7319667475319d5e86ea844066f6fd"; 

 SMSSDK.initSDK(this, APPKEY, APPSECRET);

3.点击按钮事件

		id_zhuce.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
//				注册手机号
				RegisterPage registerPage=new RegisterPage();
//				注册回调事件
				registerPage.setRegisterCallback(new EventHandler(){
					@Override
//					事件完成后调用
					public void afterEvent(int event, int result, Object data) {
						// TODO Auto-generated method stub
//						判断结果是否完成
						if (result==SMSSDK.RESULT_COMPLETE) {
//							获取数据data
							HashMap<String, Object> maps=(HashMap<String, Object>) data;
									
//									国家
							String country=(String) maps.get("country");
//									手机号
							String phone=(String) maps.get("phone");
							
							submitUserInfo(country,phone);
						}
						 
					}
					
				});
//				显示注册界面
				registerPage.show(MainActivity.this);
			}
		});
	}
public void submitUserInfo(String country,String phone){
	Random r=new Random();
	String uid=Math.abs(r.nextInt())+"";
	String nickName="Mr.xiao";
	SMSSDK.submitUserInfo(uid, nickName, null, country, phone);
}







2016-04-06 11:17:46 jl_stone 阅读数 2754
  • 短信接口开发手机验证

    短信接口开发手机验证码视频教程,该课程以PHP为开发工具,调用相关的短信接口,实现一个短信验证码的功能,课后会提供完整的课件和代码供你参考。手机实名后,让用户使用 手机 + 验证码 的方式可以很容易确定对方是一个真实的人,是一种防止机器人注册的方法。学习完后,你可以轻松的举一反三,实现短信群发,查询回复,找回密码等相关功能。

    5827 人正在学习 去看看 CSDN讲师

在Android项目中,用户注册的时候一般都会用到手机短信验证,最近使用了Bmob的短信验证,感觉还行,这里推荐给大家使用,下面是使用的方法:

1、注册一个Bmob账号

注册成功之后,按照开发文档一步一步来,先创建自己的应用,然后会分配你一个app key,这个是之后你要在Android代码中初始化Bmob使用的key

2、下载sdk和相关demo

根据demo实例或者根据开发文档,将短信验证功能集成到自己创建的app中,在项目中使用

BmobSMS.initialize(context,Bmob Application ID);
来初始化自己bmob短信sdk

3、调用接口发送短息验证码

BmobSMS.requestSMSCode(this, "手机号", "SMSCheck", new RequestSMSCodeListener() {

	public void done(Integer arg0, BmobException arg1) {
		if (arg1 == null) {// 验证码发送成功
		System.out.println("短信id:" + arg0);
		// 用于查询本次短信发送详情
		}
	}
});

4、检测验证码输入是否正确

BmobSMS.verifySmsCode(this, "手机号","你获得的验证码",new VerifySMSCodeListener() {

	public void done(BmobException ex) {
		if (ex == null) {// 短信验证码已验证成功
			System.out.println("bmob验证通过");
		} else {
			System.out.println("bmob验证失败:code ="
			+ ex.getErrorCode() + ",msg = "
			+ ex.getLocalizedMessage());
		}
	}
});
上面就是短信验证的一个简单的方法,希望对大家有帮助

2015-03-14 13:33:41 u010870518 阅读数 2816
  • 短信接口开发手机验证

    短信接口开发手机验证码视频教程,该课程以PHP为开发工具,调用相关的短信接口,实现一个短信验证码的功能,课后会提供完整的课件和代码供你参考。手机实名后,让用户使用 手机 + 验证码 的方式可以很容易确定对方是一个真实的人,是一种防止机器人注册的方法。学习完后,你可以轻松的举一反三,实现短信群发,查询回复,找回密码等相关功能。

    5827 人正在学习 去看看 CSDN讲师

一、短信验证的效果是通过使用聚合数据的SDK实现的
,效果如下:
这里写图片描述
这里写图片描述
这里写图片描述

二、根据前一段时间的博客中输了怎么注册!注册之后找到个人中心找到申请一个应用即可!
这里写图片描述

三、根据官方文档创建项目
官方文档API下载地址:http://yunpan.cn/cZwc6mum75yYx 访问密码 9f29
(包含了项目jar的导入操作)

四、调用SDK

第一步:创建并配置工程(具体方法参见工程配置部分的介绍);
第二步:在AndroidManifest中添加开发密钥、所需权限等信息;
(1)在application中添加开发密钥

<meta-data  
        android:name="JUHE_KEY"  
        android:value="开发者 key" />  

2)添加所需权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
<uses-permission android:name="android.permission.INTERNET" />  
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION " />  
<uses-permission android:name="android.permission.READ_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />

第三步,在应用程序创建时初始化 SDK引用的Context 全局变量:

package com.juhe.captcha;

import com.thinkland.sdk.util.CommonFun;

import android.app.Application;

/**
 * 初始化
 * 
 * 最好在application标签中加入
 * 
 * android:name="com.xuliugen.checkmessage.CaptchaApplication"
 * 
 * @author piaodangdehun
 * 
 */
public class CaptchaApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        // 在使用SDK各组件之前初始化context信息,传入ApplicationContext
        // 注意该方法要再setContentView方法之前实现
        // 在SDK各功能组件使用之前都需要调用
        // CommonFun.initialize(getApplicationContext(),true);,因此我们建议该方法放在Application的初始化方法中
        /**
         * 初始化方法
         * 
         * @param context
         * @needFriends 是否需要好友功能
         */
        CommonFun.initialize(getApplicationContext(), false);
    }

}

首先获取SMSCaptcha实例 :
SMSCaptcha smsCaptcha= SMSCaptcha.getinstance();
回调方法参数:
public void onResult(int code, String reason, String result)
code 返回码:
服务器: 0 成功; 1 错误;
本地: -2 本地网络异常; -3 服务器网络异常;-4 解析错误;-5初始化异常
reason 返回信息 成功或错误原因.
result 返回结果,JSON格式.错误或者无返回值时为空.

五、项目源码下载地址:

http://yunpan.cn/cZwcDLm8TiNRm 访问密码 c502

2016-07-06 09:47:43 WiseClown 阅读数 280
  • 短信接口开发手机验证

    短信接口开发手机验证码视频教程,该课程以PHP为开发工具,调用相关的短信接口,实现一个短信验证码的功能,课后会提供完整的课件和代码供你参考。手机实名后,让用户使用 手机 + 验证码 的方式可以很容易确定对方是一个真实的人,是一种防止机器人注册的方法。学习完后,你可以轻松的举一反三,实现短信群发,查询回复,找回密码等相关功能。

    5827 人正在学习 去看看 CSDN讲师

短信验证借助了mob.com(移动开发者服务平台),该服务平台提供了以下功能模块(需要自己注册账号)

  • ShareSDK:让App快速拥有强大的分享功能,提供全面的社会化数据统计。
  • 短信验证码:可轻松实现短信验证功能,最稳定的短信下发,覆盖全球。
  • ShareREC:最完美手游录像解决方案,录像、分享、社区、推广、统计,五大功能。
  • MobApi : 全国天气预报、邮编查询、菜谱大全、手机号码归属地等


Android Studio配置SDK

  1. SMSSDK下载

这里写图片描述

文件名 说明 需求
MobCommons.jar Mob 通用公共库 必须
MobTools.jar Mob 工具公共库 必须
SMSSDK-2.1.0.aar SMSSDK 核心 必须
SMSSDKGUI-2.1.0.aar SMSSDK GUI 开源库 可选

如果集成了ShareSDK,则可以共同使用公共库  (MobCommons.jar,MobTools.jar),
SMSSDKGUI-2.1.0.aar开发者可以自主选择,它为我们提供了封装好的注册等界面。


2. 将以上四个库放入libs文件

这里写图片描述


1. 配置build.gradle(Module级别)

这里写图片描述


4. 配置AndroidManifest.xml

权限添加

<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" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

application下添加如下activity

<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize"/>


展示图

这里写图片描述

这里写图片描述

这里写图片描述


Demo

界面

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.android.smsdemo.MainActivity">

    <Button
        android:id="@+id/register"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="注册手机号码"/>
</RelativeLayout>

主程序

package com.android.smsdemo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import java.util.HashMap;

import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
import cn.smssdk.gui.RegisterPage;

public class MainActivity extends AppCompatActivity {

    private Button registerBtn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        registerBtn = (Button) findViewById(R.id.register);
        registerBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                /**
                 * 初始化SDK
                 */
                String appKey = "14a0a7a14c1fc";
                String appSecrete = "8c12046be7ec35cf47f46cf3c4d6ee15";
                SMSSDK.initSDK(MainActivity.this,appKey,appSecrete);

                /**
                 * 打开注册界面
                 */
                RegisterPage registerPage = new RegisterPage();
                registerPage.setRegisterCallback(new EventHandler(){
                    /**
                     * 解析注册结果
                     */
                    @Override
                    public void afterEvent(int event, int result, Object data) {
                        if(result == SMSSDK.RESULT_COMPLETE){
                            HashMap<String,Object> phoneMap = (HashMap<String, Object>) data;
                            String country = (String) phoneMap.get("country");
                            String phone = (String) phoneMap.get("phone");

                            /**
                             * 提交注册信息
                             */
                            SMSSDK.submitUserInfo(null,null,null,country,phone);

                        }
                    }

                });

                /**
                 * 显示注册页面
                 */
                registerPage.show(MainActivity.this);

            }
        });
    }



}
没有更多推荐了,返回首页