欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android采取BroadcastReceiver方式自動(dòng)獲取驗(yàn)證碼

 更新時(shí)間:2016年08月03日 09:27:06   投稿:lijiao  
這篇文章主要介紹了Android采取BroadcastReceiver方式自動(dòng)獲取驗(yàn)證碼,感興趣的小伙伴們可以參考一下

Android 自動(dòng)獲取驗(yàn)證碼的兩種方式分別是BroadcastReceiver及ContentObserver,兩種方式都需要進(jìn)行注冊(cè)、取消注冊(cè)兩個(gè)步驟
記得添加權(quán)限,本文先介紹其中一種。

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

方式一:BroadcastReceiver 自定義廣播

/**
 * Created by weifeiyang on 2016/7/29 0029.
 */

import android.annotation.TargetApi;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.telephony.SmsMessage;
import android.util.Log;

/**
 * 短信監(jiān)聽
 *
 * @author
 */
public class SMSBroadcastReceiver extends BroadcastReceiver {

  private static MessageListener mMessageListener;
  public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED";//只要注冊(cè)聲明權(quán)限即可收到、阻斷

  @TargetApi(Build.VERSION_CODES.M)
  @Override
  public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals(SMS_RECEIVED_ACTION)) {
      //獲得短信數(shù)據(jù)
      Object[] pdus = (Object[]) intent.getExtras().get("pdus");
      //短信的類型, GSM與CDMA短信的解碼方式不同
      String format = intent.getStringExtra("format");

      if (null != pdus) {
        for (Object pdu : pdus) {
          Log.e("pdu", "format" + format);
          //23以上版本顯示 createFromPdu過時(shí),多加一個(gè)format參數(shù)即可
          SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu, format);
          //發(fā)送號(hào)碼-可以過濾需要讀取的短信的發(fā)送號(hào)碼
          String sender = smsMessage.getDisplayOriginatingAddress();
          //短信內(nèi)容
          String content = smsMessage.getDisplayMessageBody();
          if (content.contains("你從服務(wù)器上獲取到的驗(yàn)證碼")){
            mMessageListener.onReceived(content);
            abortBroadcast();//中斷廣播的繼續(xù)傳遞,防止優(yōu)先級(jí)低的獲取到
          }
        }
      }

    }

  }

  //回調(diào)接口
  public interface MessageListener {
    public void onReceived(String message);
  }

  public void setOnReceivedMessageListener(MessageListener messageListener) {
    this.mMessageListener = messageListener;
  }
}

其中關(guān)于format的解釋如下,3GPP與3GPP2掃盲

3GPP

     3GPP是針對(duì)GSM手機(jī),擴(kuò)展名為.3gp。第三代合作伙伴計(jì)劃(3rdGenerationPartnershipProject,即3GPP)是一個(gè)成立于1998年12月的標(biāo)準(zhǔn)化機(jī)構(gòu)。目前其成員包括歐洲的ETSI、日本的ARIB和TTC、中國(guó)的CCSA、韓國(guó)的TTA和北美的ATIS。
    3GPP的目標(biāo)是在ITU的IMT-2000計(jì)劃范圍內(nèi)制訂和實(shí)現(xiàn)全球性的(第三代)行動(dòng)電話系統(tǒng)規(guī)范。它致力于GSM到UMTS(WCDMA)的演化,雖然GSM到WCDMA空中接口差別很大,但是其核心網(wǎng)采用了GPRS的框架,因此仍然保持延續(xù)性。

3GPP2

   3GPP2是針對(duì)CDMA手機(jī),擴(kuò)展名為.3g2。第三代合作伙伴計(jì)劃2(3rdGenerationPartnershipProject2,即3GPP2)建立于1998年12月,成員包括:TIA(北美)、CCSA(中國(guó))、ARIB/TTC(日本)和TTA(韓國(guó))。
    3GPP2致力于使ITU的IMT-2000計(jì)劃中的(3G)行動(dòng)電話系統(tǒng)規(guī)范在全球的發(fā)展,實(shí)際上它是從2G的CDMAOne或者IS-95發(fā)展而來的CDMA2000標(biāo)準(zhǔn)體系的標(biāo)準(zhǔn)化機(jī)構(gòu),它受到擁有多項(xiàng)CDMA關(guān)鍵技術(shù)專利的高通公司的較多支持。

    3GPP和3GPP2兩者實(shí)際上存在一定競(jìng)爭(zhēng)關(guān)系,3GPP2致力于以IS-95(在北美和韓國(guó)應(yīng)用廣泛的CDMA標(biāo)準(zhǔn),聯(lián)通CDMA與之兼容)向3G過渡,和高通公司關(guān)系更加緊密。與之對(duì)應(yīng)的3GPP致力于從GSM向WCDMA(UMTS)過渡,因此兩個(gè)機(jī)構(gòu)存在一定競(jìng)爭(zhēng)。

廣播有了后就可以使用了,在activity或者fragment的onCreate方法中調(diào)用initSMSBroadcastReceiver()進(jìn)行注冊(cè),在onDestroy()中通過
//注銷短信監(jiān)聽廣播
this.unregisterReceiver(mSMSBroadcastReceiver);取消注冊(cè)

/**
   * 初始化短信監(jiān)聽廣播
   */
  private void initSMSBroadcastReceiver() {
    //生成廣播處理
    mSMSBroadcastReceiver = new SMSBroadcastReceiver(mContent);
    //實(shí)例化過濾器并設(shè)置要過濾的廣播
    IntentFilter intentFilter = new IntentFilter(SMSBroadcastReceiver.SMS_RECEIVED_ACTION);
    //優(yōu)先級(jí)最高
    intentFilter.setPriority(Integer.MAX_VALUE);
    //注冊(cè)廣播
    this.registerReceiver(mSMSBroadcastReceiver, intentFilter);
    mSMSBroadcastReceiver.setOnReceivedMessageListener(new SMSBroadcastReceiver.MessageListener() {
      @Override
      public void onReceived(String message) {
        TLog.error("message" + message);
        String code = ReadSmsContent.getDynamicPassword(message);
        seCodeEditText.setText(code);
      }
    });
  }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android實(shí)現(xiàn)一個(gè)包含表格的圖標(biāo)庫(kù)實(shí)例代碼

    Android實(shí)現(xiàn)一個(gè)包含表格的圖標(biāo)庫(kù)實(shí)例代碼

    這篇文章主要介紹了Android實(shí)現(xiàn)一個(gè)包含表格的圖標(biāo)庫(kù)的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • android教程使用webview訪問https的url處理sslerror示例

    android教程使用webview訪問https的url處理sslerror示例

    這篇文章主要介紹了android教程使用webview訪問https的url處理sslerror示例,大家參考使用吧
    2014-01-01
  • Android顯示系統(tǒng)SurfaceFlinger分析

    Android顯示系統(tǒng)SurfaceFlinger分析

    本文詳細(xì)講解了Android顯示系統(tǒng)SurfaceFlinger,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Android如何自定義升級(jí)對(duì)話框示例詳解

    Android如何自定義升級(jí)對(duì)話框示例詳解

    對(duì)話框是我們?cè)谄綍r(shí)經(jīng)常會(huì)遇到的一個(gè)功能,但自帶的對(duì)話框不夠美觀,大家一般都會(huì)自定義,下面這篇文章主要給大家介紹了關(guān)于Android如何自定義升級(jí)對(duì)話框的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • 詳解Android性能優(yōu)化之啟動(dòng)優(yōu)化

    詳解Android性能優(yōu)化之啟動(dòng)優(yōu)化

    一款應(yīng)用的第一印象很重要,第一印象往往決定了用戶的去留。打開一款應(yīng)用,如果速度很快,很順暢,那么很容易讓人覺得這款應(yīng)用背后的技術(shù)實(shí)力很強(qiáng),用戶潛意識(shí)中會(huì)對(duì)這款應(yīng)用更加的信賴。本文將詳細(xì)介紹Android性能優(yōu)化之啟動(dòng)優(yōu)化。
    2021-06-06
  • Android端代碼量非常小的分頁(yè)加載庫(kù)

    Android端代碼量非常小的分頁(yè)加載庫(kù)

    這篇文章主要給大家介紹了關(guān)于Android端代碼量非常小的分頁(yè)加載庫(kù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Android RecyclerView自定義上拉和下拉刷新效果

    Android RecyclerView自定義上拉和下拉刷新效果

    這篇文章主要為大家詳細(xì)介紹了Android RecyclerView自定義上拉和下拉刷新效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android使用ViewPager快速切換Fragment時(shí)卡頓的優(yōu)化方案

    Android使用ViewPager快速切換Fragment時(shí)卡頓的優(yōu)化方案

    今天小編就為大家分享一篇關(guān)于Android使用ViewPager快速切換Fragment時(shí)卡頓的優(yōu)化方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • android實(shí)現(xiàn)圖片橡皮擦和快速染色功能

    android實(shí)現(xiàn)圖片橡皮擦和快速染色功能

    這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)圖片橡皮擦和快速染色功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • WAC啟動(dòng)Android模擬器 transfer error: Read-only file system錯(cuò)誤解決方法

    WAC啟動(dòng)Android模擬器 transfer error: Read-only file system錯(cuò)誤解決方法

    這篇文章主要為大家分享下WAC啟動(dòng)Android模擬器時(shí)出現(xiàn)transfer error: Read-only file system 問題的解決方法
    2013-10-10

最新評(píng)論