SmsManager 是 Android 中用于发送短信的类。通过 SmsManager,你可以在你的应用程序中发送 SMS 消息。以下是一些 SmsManager 的基础用法:

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