使用smppapi可简单的实现短信的发送。当然需要向移动购买服务。
实现只要看其中的例子及向移动要相关的接口参数就可以了。
但发送中文会出现乱码,API也提供也解决的方法。
你有2个选项。如果你知道在另一端的接收设备能够UCS2编码的消息,您可以发送喜欢使用这样的代码,编码的消息:
方法1、
String msg = "Chinese characters here";
SubmitSM sm = new SubmitSM();
sm.setAlphabet(new UCS2Encoding());
sm.setMessageText(msg);
,另一方面,如果您需要使用不同的编码方案,像Big5码时,最好的办法可能是写一个子类,AlphabetEncoding提供正确的data_coding价值的smppapi。有UCS2Encoding和DefaultAlphabetEncoding源代码,看看这些的是如何工作的。
方法2、
String orgStr = moMsg;
byte[] bArray = orgStr.getBytes();
String jString = new UCS2Encoding().decodeString(bArray);
bArray = jString.getBytes("EUC_TW");
String eucStr = new String(bArray, "EUC_TW");
实现只要看其中的例子及向移动要相关的接口参数就可以了。
但发送中文会出现乱码,API也提供也解决的方法。
你有2个选项。如果你知道在另一端的接收设备能够UCS2编码的消息,您可以发送喜欢使用这样的代码,编码的消息:
方法1、
String msg = "Chinese characters here";
SubmitSM sm = new SubmitSM();
sm.setAlphabet(new UCS2Encoding());
sm.setMessageText(msg);
,另一方面,如果您需要使用不同的编码方案,像Big5码时,最好的办法可能是写一个子类,AlphabetEncoding提供正确的data_coding价值的smppapi。有UCS2Encoding和DefaultAlphabetEncoding源代码,看看这些的是如何工作的。
方法2、
String orgStr = moMsg;
byte[] bArray = orgStr.getBytes();
String jString = new UCS2Encoding().decodeString(bArray);
bArray = jString.getBytes("EUC_TW");
String eucStr = new String(bArray, "EUC_TW");