Android 는 어떻게 휴대 전 화 를 통 해 문자 인증 코드 를 자동 으로 얻 습 니까?

3668 단어 android인증번호
본 논문 의 사례 는 안 드 로 이 드 가 핸드폰 에서 문자 인증 코드 를 자동 으로 얻 는 기능 을 실현 하 는 것 을 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
1.문자 감청 방송
2.문자 내용 읽 기
3.문자 내용 캡 처[reg 캡 처 가능]
4.해당 컨트롤 에 작성
PS:DevStore 테스트 에서 인증 코드 를 받 지 못 했 습 니 다.


소스 코드 세 션

public class MainActivity extends Activity { 
 private BroadcastReceiver smsReceiver; 
 private IntentFilter filter2; 
 private Handler handler; 
 private EditText et; 
 private String strContent; 
 private String patternCoder = "(?<!--\\d)\\d{6}(?!\\d)"; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
  et = (EditText) findViewById(R.id.et); 
  handler = new Handler() { 
   public void handleMessage(android.os.Message msg) { 
    et.setText(strContent); 
   }; 
  }; 
  filter2 = new IntentFilter(); 
  filter2.addAction("android.provider.Telephony.SMS_RECEIVED"); 
  filter2.setPriority(Integer.MAX_VALUE); 
  smsReceiver = new BroadcastReceiver() { 
   @Override 
   public void onReceive(Context context, Intent intent) { 
    Object[] objs = (Object[]) intent.getExtras().get("pdus"); 
    for (Object obj : objs) { 
     byte[] pdu = (byte[]) obj; 
     SmsMessage sms = SmsMessage.createFromPdu(pdu); 
     //       
     String message = sms.getMessageBody(); 
     Log.d("logo", "message  " + message); 
     //       。。+86  ? 
     String from = sms.getOriginatingAddress(); 
     Log.d("logo", "from  " + from); 
     Time time = new Time(); 
     time.set(sms.getTimestampMillis()); 
     String time2 = time.format3339(true); 
     Log.d("logo", from + " " + message + " " + time2); 
     strContent = from + " " + message; 
     handler.sendEmptyMessage(1); 
     if (!TextUtils.isEmpty(from)) { 
      String code = patternCode(message); 
      if (!TextUtils.isEmpty(code)) { 
       strContent = code; 
       handler.sendEmptyMessage(1); 
      } 
     } 
    } 
   } 
  }; 
  registerReceiver(smsReceiver, filter2); 
 } 
 
 @Override 
 protected void onDestroy() { 
  super.onDestroy(); 
  unregisterReceiver(smsReceiver); 
 } 
 
 /** 
  *        6   (    ) 
  * 
  * @param patternContent 
  * @return 
  */ 
 private String patternCode(String patternContent) { 
  if (TextUtils.isEmpty(patternContent)) { 
   return null; 
  } 
  Pattern p = Pattern.compile(patternCoder); 
  Matcher matcher = p.matcher(patternContent); 
  if (matcher.find()) { 
   return matcher.group(); 
  } 
  return null; 
 } 
}</pre--> 
글 의 끝 부분 은 모두 에 게 두 가지 주 제 를 공유 하고 있 으 니 참고 하 시기 바 랍 니 다.
《PHP 인증 코드 대전》
<ASP.NET 인증 코드 대전>
이상 은 안 드 로 이 드 가 휴대 전 화 를 통 해 문자 인증 코드 를 자동 으로 받 는 상세 한 코드 로 휴대 전화 에서 문자 인증 코드 를 자동 으로 받 는 데 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기