마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

sms 발신실패한 메시지를 알 수있을까요?

0 추천
안녕하세요,

현재 sms발신[보내기] 기능을 만들고 있습니다.

sms.sendTextMessage(phone, sendPhoneNum, msg, sentPi, null); (수신번호/발신번호/메시지)

이렇게 구성한 후 보내고있는데요..아직까지 메시지 발신실패의 케이스는 발생하지 않았습니다만,

여러가지 이유로 메시지를 보내지 못할 경우 즉, 실패한 경우엔 다시 해당 메시지를 보내주려고 합니다.

리시버를 따로 만들어서, 여러가지 case로 나누었습니다.

case Activity.RESULT_OK:[성공]

case SmsManager.RESULT_ERROR_GENERIC_FAILURE:[불특정실패]

case SmsManager.RESULT_ERROR_NO_SERVICE:[서비스x]

등등..

만약 메시지전송이 실패했을 경우 ,RESULT_ERROR_GENERIC_FAILURE에서

한 번더 전송하는.. 재전송 처리를 하려고 합니다.

메시지 전송이 실패했을 때, 실패처리된 메시지를 알아야 재전송 하는데 사용할수있을거같은데..

리턴값등으로 알 수있나요?

예를 들어 "안녕하세요"라는 메시지를 보냈다가 RESULT_ERROR_GENERIC_FAILURE에 해당할 때,

저 안녕하세요라는 값을 구할 수있는지 궁금합니다.

혹은 실패처리된 메시지를 따로 볼 수있는 기능이 있는지..

처음에는 전역변수에 담아서 재전송처리에 사용하려 했는데요, 보내기 버튼을 연속으로 눌렀을 경우,

전역변수가 빠르게 갱신되면서 엉뚱한 값이 재전송에 사용될것 같아서 구현방식을 고민하고 있습니다.

ex) 안녕하세요->전송실패-->실패처리 하는 동안 "반갑습니다"라는 메시지값이 전역변수에 새로 들어감->

"안녕하세요" 실패처리완료->하지만 전역변수 값이 갱신되면서 "반갑습니다"가 재전송됨.

 

긴글 읽어주셔서 감사합니다~
anci (19,950 포인트) 님이 2015년 7월 15일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...