我需要将sms存储到sqlite数据库,当我收到一个。在这一刻,它可以正常工作(短信160个字符),但是如果我收到多部分短信,它会截断短信约155个字符。BroadcastReceiver多部分短信
这是我的代码:
SmsBR.java
public class SmsBR extends BroadcastReceiver {
private DBManager dbm;
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[])bundle.get("pdus");
final SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
}
if (messages.length > 0) {
dbm=DBManager.getDBM(null);
dbm.insertSMS(messages[0]);
}}}}
DBManager是我写的,以简化读/写操作一个单独的类,我敢肯定它有没有问题长文本!
谢谢! :)问题是,我只存储'消息[0]'! – supergiox