簡體   English   中英

僅將 sim 卡插入第一個插槽時如何獲取 otp?

[英]how to get otp when sim is inserted in 1st slot only?

我正在嘗試開發一個 android 項目,只有當用戶嘗試注冊的號碼插入第一個插槽時,OTP 才應該接收。 怎么做? 在 firebase 的幫助下這可能嗎? 並且還想用一個對話框自動填充那個 otp,比如用戶想要自動讀取 otp 嗎?

允許:

<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

使用代碼

public String getNumber() { 
  
    if (ActivityCompat.checkSelfPermission(this, READ_SMS) == PackageManager.PERMISSION_GRANTED &&
            ActivityCompat.checkSelfPermission(this, READ_PHONE_NUMBERS) ==
                    PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this,
            READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
        // Permission check
  
        // Create obj of TelephonyManager and ask for current telephone service
        TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
        String phoneNumber = telephonyManager.getLine1Number();
  
        
        return phoneNumber;
    } else {
        // Ask for permission
        requestPermission();
    return null;
    }
}

如果存在,這將返回 sim 一個數字。 現在檢查它是否等於用戶提供的數字。 將號碼存儲在數據庫中,並檢查啟動時是否插入了相同的 sim。 請注意,當您比較數字時,它們的格式必須相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM