Android如何集成極光短信驗(yàn)證
先借助Android studio工具新建一個(gè)新的空項(xiàng)目。
步驟一(獲取appkey)
1.在極光官網(wǎng)平臺(tái)上新建短信應(yīng)用(根據(jù)要求包名和應(yīng)用名稱填寫好)
2.獲取得到Jpush_AppKey
步驟二 (導(dǎo)入第三方庫和so文件)
1.用Android studio打開應(yīng)用
2.切換應(yīng)用狀態(tài)Android為Project狀態(tài)
3.在libs文件夾下把對(duì)應(yīng)的jar文件拷入 然后as libraries
步驟三(初始化以及調(diào)用)
1.新建Application初始化
public class MyApp extends Application { @Override public void onCreate() { super.onCreate(); SMSSDK.getInstance().setDebugMode(true); SMSSDK.getInstance().initSdk(this); } }
2.在activity中調(diào)用
public class MainActivity extends BaseActivity { EditText edit_name; EditText edit_pwd; EditText sms; String name; String pwd; Button get_sms; Button btn_login; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: Toast.makeText(MainActivity.this, msg.obj.toString(), Toast.LENGTH_SHORT).show(); break; case 2: Toast.makeText(MainActivity.this, msg.obj.toString(), Toast.LENGTH_SHORT).show(); break; case 3: Toast.makeText(MainActivity.this, msg.obj.toString(), Toast.LENGTH_SHORT).show(); break; case 4: Toast.makeText(MainActivity.this, msg.obj.toString(), Toast.LENGTH_SHORT).show(); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { edit_name = (EditText) findViewById(R.id.edit_name); edit_pwd = (EditText) findViewById(R.id.edit_pwd); sms = (EditText) findViewById(R.id.sms); get_sms = (Button) findViewById(R.id.get_sms); btn_login = (Button) findViewById(R.id.btn_login); get_sms.setOnClickListener(new GetSmsClickListener()); btn_login.setOnClickListener(new LoginClickListener()); } public class GetSmsClickListener implements View.OnClickListener { @Override public void onClick(View view) { name = edit_name.getText().toString().trim(); pwd = edit_pwd.getText().toString().trim(); if (name.equals("")) { edit_name.requestFocus(); } else if (pwd.equals("")) { edit_pwd.requestFocus(); } else { new Thread(new Runnable() { @Override public void run() { try { GetSmsCode(name, pwd); } catch (Exception ex) { ex.printStackTrace(); } } }).start(); } } } private void GetSmsCode(String name, String pwd) { GetCode(this.name, this.pwd, new GetCodeListener() { @Override public void getCodeSuccess(String s) { Message msg = Message.obtain(); msg.obj = s; msg.what = 1; handler.sendMessage(msg); } @Override public void getCodeFail(String s) { Message msg = Message.obtain(); msg.obj = s; msg.what = 2; handler.sendMessage(msg); } }); } public class LoginClickListener implements View.OnClickListener { @Override public void onClick(View view) { final String code = sms.getText().toString().trim(); name = edit_name.getText().toString().trim(); pwd = edit_pwd.getText().toString().trim(); if (name.equals("")) { edit_name.requestFocus(); } else if (pwd.equals("")) { edit_pwd.requestFocus(); } else if (code.equals("")) { sms.requestFocus(); } else { new Thread(new Runnable() { @Override public void run() { try { CheckSmsCode(name, pwd, code); } catch (Exception ex) { ex.printStackTrace(); } } }).start(); } } } private void CheckSmsCode(String name, String pwd, String code) { CheckCode(this.name, this.pwd, code, new CheckCodeListener() { @Override public void checkCodeSuccess(String s) { Message msg = Message.obtain(); msg.obj = s; msg.what = 3; handler.sendMessage(msg); } @Override public void checkCodeFail(String s) { Message msg = Message.obtain(); msg.obj = s; msg.what = 4; handler.sendMessage(msg); } }); } }
步驟四(填寫配置文件)
1.配置應(yīng)用權(quán)限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
2.配置meta (appkey 從平臺(tái)上新建的對(duì)應(yīng)應(yīng)用中來)
<meta-data android:name="JPUSH_APPKEY" android:value="You JPUSH_APPKEY"/>
步驟五(調(diào)試)
1.點(diǎn)擊獲取密碼按鈕獲取短信信息
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android短信驗(yàn)證碼(用的Mob短信驗(yàn)證)
- Android實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼倒計(jì)時(shí)功能示例
- Android自動(dòng)填充短信驗(yàn)證碼功能(demo)
- Android利用CursorLoader實(shí)現(xiàn)短信驗(yàn)證碼自動(dòng)填寫
- Android獲取短信驗(yàn)證碼的實(shí)現(xiàn)方法
- Android使用第三方服務(wù)器Bmob實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼
- Android中用Bmob實(shí)現(xiàn)短信驗(yàn)證碼功能的方法詳解
- Android 短信驗(yàn)證碼自動(dòng)填寫
相關(guān)文章
Android利用WindowManager實(shí)現(xiàn)懸浮窗
這篇文章主要為大家詳細(xì)介紹了Android利用WindowManager實(shí)現(xiàn)懸浮窗效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07Android判斷當(dāng)前App是在前臺(tái)還是在后臺(tái)
這篇文章主要為大家詳細(xì)介紹了Android判斷當(dāng)前App是在前臺(tái)還是在后臺(tái)的方法,感興趣的小伙伴們可以參考一下2016-08-08Kotlin淺析延遲初始化與密封類的實(shí)現(xiàn)方法
Kotlin語言的許多特性,包括變量不可變,變量不可為空,等等。這些特性都是為了盡可能地保證程序安全而設(shè)計(jì)的,但是有些時(shí)候這些特性也會(huì)在編碼時(shí)給我們帶來不少的麻煩,下面我們來了解延遲初始化和密封類的特點(diǎn)2022-08-08Flutter開發(fā)之設(shè)置應(yīng)用名稱及圖標(biāo)的教程
這篇文章主要介紹了Flutter設(shè)置應(yīng)用名稱及圖標(biāo)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04輕松實(shí)現(xiàn)Android語音識(shí)別功能
這篇文章主要為初學(xué)者介紹了輕松實(shí)現(xiàn)Android語音識(shí)別功能的代碼,感興趣的小伙伴們可以參考一下2016-07-07Android實(shí)現(xiàn)與Apache Tomcat服務(wù)器數(shù)據(jù)交互(MySql數(shù)據(jù)庫)
本篇文章主要介紹了Android實(shí)現(xiàn)與Apache Tomcat服務(wù)器數(shù)據(jù)交互(MySql數(shù)據(jù)庫),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Android Map新用法:MapFragment應(yīng)用介紹
MapView ,MapActivity 這種的局限在于,必須要繼承MapActivity,否則無法使用MapView,但是,MapFragment 這種的局限在于,必須要安裝Google Play Service ,也就是說必須是原生rom。而且sdk要在12以上2013-01-01Android開發(fā)中多進(jìn)程共享數(shù)據(jù)簡(jiǎn)析
這篇文章主要為大家簡(jiǎn)單分析Android開發(fā)中多進(jìn)程共享數(shù)據(jù),怎么做才能讓這兩邊共享數(shù)據(jù),感興趣的小伙伴們可以參考一下2016-04-04