要通過手機自動獲取短信驗證碼,您可以使用以下方法:
1. 使用短信廣播接收器:創建一個廣播接收器,用于接收手機收到的短信。在接收到短信時,提取驗證碼并進行處理。
首先,在AndroidManifest.xml文件中注冊短信廣播接收器:
```xml
```
然后,創建SmsReceiver.java文件:
```java
public class SmsReceiver extends BroadcastReceiver {
private static final String TAG = "SmsReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
if (pdus != null) {
for (Object pdu : pdus) {
SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdu);
String message = sms.getMessageBody();
// 在此處提取短信中的驗證碼并進行處理
}
}
}
}
}
```
2. 使用SMS Retriever API:該API提供了一種更簡單的方式來自動獲取短信驗證碼,而無需處理短信廣播接收器。
首先,在您的應用的build.gradle文件中添加依賴項:
```
implementation 'com.google.android.gms:play-services-auth:19.2.0'
```
然后,創建一個Activity來請求獲取短信驗證碼:
```java
public class MainActivity extends AppCompatActivity {
private static final int SMS_CONSENT_REQUEST = 123;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SmsRetrieverClient client = SmsRetriever.getClient(this);
Task