亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Android自動獲取短信驗證碼功能

小億
126
2023-12-19 02:31:59
欄目: 編程語言

在 Android 中實現自動獲取短信驗證碼的功能可以分為以下幾個步驟:

  1. 添加權限:在 AndroidManifest.xml 文件中添加讀取短信的權限:
<uses-permission android:name="android.permission.READ_SMS"/>
  1. 創建 BroadcastReceiver:創建一個繼承自 BroadcastReceiver 的類,用于接收短信,并提取其中的驗證碼。在 onReceive 方法中實現短信的處理邏輯,例如提取驗證碼、更新 UI 等操作。
public class SMSReceiver extends BroadcastReceiver {
    private static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED";

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(SMS_RECEIVED_ACTION)) {
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                Object[] pdusObj = (Object[]) bundle.get("pdus");
                if (pdusObj != null) {
                    for (Object pdus : pdusObj) {
                        SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdus);
                        String messageBody = smsMessage.getMessageBody();
                        // 提取短信中的驗證碼
                        String verificationCode = extractVerificationCode(messageBody);
                        // 處理獲取到的驗證碼
                        // ...
                    }
                }
            }
        }
    }

    private String extractVerificationCode(String messageBody) {
        // 根據短信的內容提取驗證碼
        // 例如通過正則表達式匹配驗證碼的格式
        // ...
    }
}
  1. 注冊 BroadcastReceiver:在需要接收短信驗證碼的頁面或者 Application 類中注冊 BroadcastReceiver。
// 在需要接收短信的頁面或者 Application 類中注冊 BroadcastReceiver
SMSReceiver smsReceiver = new SMSReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.provider.Telephony.SMS_RECEIVED");
registerReceiver(smsReceiver, intentFilter);

注意:在不需要獲取短信驗證碼的時候,記得要取消注冊 BroadcastReceiver。

// 取消注冊 BroadcastReceiver
unregisterReceiver(smsReceiver);

這樣,當有新的短信到來時,系統會發送一個廣播到注冊的 BroadcastReceiver 中,其中包含了短信的內容,我們可以在 BroadcastReceiver 中提取出短信中的驗證碼,并進行相應的處理。

0
乌拉特中旗| 太仆寺旗| 东辽县| 辽宁省| 景洪市| 夹江县| 巩义市| 巴楚县| 全椒县| 拜城县| 双鸭山市| 横山县| 杭锦旗| 东兰县| 和政县| 瓦房店市| 景东| 东城区| 铜山县| 平湖市| 淮北市| 奉新县| 诸城市| 离岛区| 曲松县| 织金县| 凌云县| 苍南县| 高清| 白水县| 兴义市| 德清县| 南投市| 通城县| 焦作市| 讷河市| 泸水县| 双流县| 石城县| 仪征市| 当雄县|