2013-05-24 2 views
1

나는 안드로이드에 SMSManager이라는 이상한 문제가 있습니다. 나는 두 가지 언어로 SMS 메시지를 보내고있다. 힌디어와 영어. 메시지 전송은 영어 메시지에는 잘 작동하지만 힌디어 텍스트의 경우에는 메시지가 전달되지 않습니다. 나는 심지어 힌디어 메시지에 대한 실패 또는 성공의 방송을받지 못한다.힌디어로 SMS 메시지를 보낼 수 없습니다.

다음은 메시지를 보내는 코드입니다.

SmsManager smsManager = SmsManager.getDefault(); 
smsManager.sendTextMessage(destinationAddress, null, message, null, null); 

ps.

메시지를 보내는 샘플 앱을 준비했습니다. 메시지는 힌디어 언어의 EditText에 입력 할 때하지만 메시지를 보낼 수 없습니다 힌디어 문자열을 하드 코딩 할 때 그것은 잘 작동

문자열 hindiMessage = editText.getText.toString() 미세

문자열을 작동 // hindiMessage = "실패한"// 실패

그래서 가능한 해결책이나 해결 방법을 찾고 있습니다.

+0

글쎄, 내 장치에서 같은 것을 시도했다. 메시지도 힌디어로 전달됩니다. 테스트 삼성 갤럭시 s3 – Raghunandan

+0

예 harcoded 힌디어 문자열. 내 장치에서 잘 작동합니다. – Raghunandan

+0

@raghunandan이 문제의 답을 올렸습니다. :). –

답변

7

메시지를 멀티 파트 메시지로 보내면 해결됩니다. SMS는 내가 보낸 메시지의 길이가 한 메시지의 최대 길이보다 짧았 기 때문에 영어로 작동했습니다. 그러나 그것을 힌디어로 변환 한 후에 길이가 증가하고 하나의 메시지의 최대 한도를 초과합니다.

그래서 멀티 파트 메시지로 메시지를 보내는 것이 효과적입니다.

SmsManager smsManager = SmsManager.getDefault(); 
ArrayList<String> parts = smsManager.divideMessage(message); 
smsManager.sendMultipartTextMessage(destinationAddress, null, parts, null, null); 

감사
N_JOY : 여기에 같은에 대한 코드입니다.

관련 문제