2017-01-28 10 views
-3

Wie kann ich den Sicherheitscode per sms an das Benutzergerät gesendet bekommen und in meiner App auf editText setzen? zum Beispiel in was app nach Telefonnummer eingeben und den Sicherheitscode erhalten, App in Code Art und Weise automatische Sicherheit app gesetzt und Benutzerwie Sicherheitscode an Benutzergerät gesendet wird

Bitte helfen Sie mir registrieren und onCreate für diesen Job

Antwort

0

Aktivitäts Beispiel zeigen()

 IntentFilter intentFilter = null;    
     intentFilter = new IntentFilter(Telephony.Sms.Intents.SMS_RECEIVED_ACTION);   
     registerReceiver(smsReceiver, intentFilter); 

nun diese Übertragung setzen in derselben Aktivität:

private BroadcastReceiver smsReceiver = new BroadcastReceiver() { 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      Bundle myBundle = intent.getExtras(); 
      SmsMessage[] messages = null; 
      if (myBundle != null) { 
       Object[] pdus = (Object[]) myBundle.get("pdus"); 

       messages = new SmsMessage[pdus.length]; 

       for (int i = 0; i < messages.length; i++) { 
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
         String format = myBundle.getString("format"); 
         messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i], format); 
        } else { 
         messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); 
        } 
         /*strMessage += "SMS From: " + messages[i].getOriginatingAddress(); 
         strMessage += " : "; 
         strMessage += messages[i].getMessageBody(); 
         strMessage += "\n";*/ 
       } 
       if (messages[0].getMessageBody().substring(11).contains("OTP")){ 
        final Pattern p = Pattern.compile("(\\d{4})"); 
        final Matcher m = p.matcher(messages[0].getMessageBody().substring(11)); 
        if (m.find()) { 
         Log.e("SMSotp", String.valueOf(m.group())); 
        } 
        String[] tet = m.group().split("(?!^)"); 

        otp1.setText(tet[0]); 
        otp2.setText(tet[1]); 
        otp3.setText(tet[2]); 
        otp4.setText(tet[3]); 


       } 
      } 

     } 
    }; 

Nun fügen Sie diese in Manifest:

<uses-permission android:name="android.permission.RECEIVE_SMS"/> 
+0

danke für Hilfe – SmartMob

Verwandte Themen