私は自分のアプリでSMSレシーバーモジュールに取り組んでおり、アプリでSMSを受信しています。また、SMSが160文字を超える場合は、そのSMSを次の部分に連結して表示する必要があります。現在、私は単純なレシーバーコードを使用しています。このタスクを実行するように提案してください。
1571 次
1 に答える
5
はい、マルチパート メッセージを処理してみてください:
@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]);
}
StringBuffer content = new StringBuffer();
if (messages.length > 0) {
for (int i = 0; i < messages.length; i++) {
content.append(messages[i].getMessageBody());
}
}
String mySmsText = content.toString();
}
}
}
于 2012-11-28T06:03:38.660 に答える