반응형
class SmsReceiver: BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
if(intent?.action == SmsRetriever.SMS_RETRIEVED_ACTION){
val extras = intent.extras
val status = extras?.get(SmsRetriever.EXTRA_STATUS)
when(status) {
CommonStatusCodes.SUCCESS -> {
var msg = extras.get(SmsRetriever.EXTRA_SMS_MESSAGE) as String
val pattern = Pattern.compile("\\d{6}")
val matcher = pattern.matcher(msg)
matcher.find()
try{
msg = matcher.group(0)
if(context?.packageName != null && context.packageName == "DepthActivity"){
context.sendBroadcast(Intent("SMS_CODE").apply { putExtra("SMS_CODE",msg) })
}
}catch (e: Exception){
}
}
CommonStatusCodes.TIMEOUT -> {
//시간 초과 처리
}
}
}
}
}
반응형
'개발삽질방 > Android' 카테고리의 다른 글
| Fragment에서 Context 사용시 NullPointerException 오류 (1) | 2020.04.15 |
|---|---|
| Kotlin Migration Check List (0) | 2019.10.28 |
| [Android] 에뮬레이터에서 한글이 보이지 않는 문제 (0) | 2019.09.23 |
| [Android] flavor 사용시 Provider 때문에 앱 동시 설치가 안되던 문제 (0) | 2019.09.14 |