1. 获取 SmsManager 实例:
SmsManager smsManager = SmsManager.getDefault();
2. 发送短信:
String phoneNumber = "1234567890";
String message = "Hello, this is a test message.";
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
上述代码将发送一个文本短信给指定的电话号码。phoneNumber 是目标手机号码,message 是要发送的消息。
3. 发送长短信(分段发送):
String phoneNumber = "1234567890";
String message = "This is a very long message that exceeds the maximum length for a single SMS. It will be split into multiple parts.";
ArrayList<String> parts = smsManager.divideMessage(message);
for (String part : parts) {
smsManager.sendTextMessage(phoneNumber, null, part, null, null);
}
如果消息长度超过一个短信的最大长度,可以使用 divideMessage 方法将消息分割成多个部分,然后逐个发送。
4. 监听短信发送状态:
PendingIntent sentIntent = PendingIntent.getBroadcast(this, 0, new Intent("SMS_SENT"), 0);
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (getResultCode() == Activity.RESULT_OK) {
// 短信发送成功
} else {
// 短信发送失败
}
}
}, new IntentFilter("SMS_SENT"));
smsManager.sendTextMessage(phoneNumber, null, message, sentIntent, null);
上述代码中,通过 PendingIntent 和注册广播接收器,可以监听短信的发送状态。
请注意,在使用 SmsManager 时,你需要在 AndroidManifest.xml 文件中添加发送短信的权限:
<uses-permission android:name="android.permission.SEND_SMS" />
确保在运行时请求必要的权限,以避免在运行时出现权限问题。
转载请注明出处:http://www.zyzy.cn/article/detail/15243/Android