jsms APIを使用して、PCから電話にUnicodeメッセージを送信しています。コードのこの部分を使用すると、完全に機能します。「ఈ ఒక తెలుగు సందేశం」というメッセージが完全に表示されます。
SmsMessage msg = new SmsMessage();
msg.setRecipient("+919561356345");
String unicodeMsg = "ఈ ఒక తెలుగు సందేశం"; //telugu script
msg.setUserData(unicodeMsg.getBytes("UTF-16BE"));
msg.setCodingGroup(SmsMessage.DC_GROUP_GENERAL);
msg.setAlphabet(SmsMessage.DC_UCS2);
msg.setMessageClass(SmsMessage.NO_CLASS);
service.init(props);
service.connect();
service.sendMessage(msg);
System.out.println("Message sent successfuly, "+msg.getMessage());
service.disconnect();
コードで、データベースから同じメッセージ コンテンツを取得して TextArea をスイングし、ここで抽出すると、携帯電話に空白のメッセージが表示されます。変換とすべてに問題がありますか? これは私のコードです:
// here the argument text is taMessage.getText() where taMessage is TextArea;
public SendUnicodeMessage(String port, String text, Object no){
SmsMessage msg = new SmsMessage();
String num = no.toString();
msg.setRecipient(num);
String unicodeMsg = text.toString ;
msg.setUserData(unicodeMsg.getBytes("UTF-16BE"));
msg.setCodingGroup(SmsMessage.DC_GROUP_GENERAL);
msg.setAlphabet(SmsMessage.DC_UCS2);
msg.setMessageClass(SmsMessage.NO_CLASS);
service.init(props);
service.connect();
service.sendMessage(msg);
System.out.println("Message sent successfuly, "+msg.getMessage());
service.disconnect();