在 Android 6.0 或者之后的版本中要主动请求用户授权,具体方法,可以参考我之前写的这篇文章
《Android 6.0+ SMSManager 使用示例 发送短信》
广播中接收并处理短信广播的代码如下:
Bundle bundle = intent.getExtras();
Object[] pdus = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i=0; i<messages.length; ++i) {
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
sender.setText(messages[0].getOriginatingAddress());
StringBuilder fullMessage = new StringBuilder();
for (SmsMessage message : messages) {
fullMessage.append(message.getMessageBody());
}
content.setText(fullMessage.toString());
其中 sender 和 content 为 TextView 的对象。
本文参考自 《Android 第一行代码》