我需要知道如何使用我的广播接收器类中的SmSMessage类在我的设备上获取传入短信的编码。
显然我不能使用代码:
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
msg_str += msgs[i].getMessageBody();
}
StringBufferInputStream buf = new StringBufferInputStream(msgs[0].getMessageBody());
InputStreamReader reader = new InputStreamReader(buf);
String encode = reader.getEncoding();
因为这将返回我默认的java编码,即(UTF-8)。
我需要检查短信是否采用GSM7、8-bit或UTF-16编码。