`
ziyu_1
  • 浏览: 194499 次
  • 来自: ...
社区版块
存档分类
最新评论

android 中调用接口发送短信

阅读更多
android中可以通过两种方式发送短信

第一:调用系统短信接口直接发送短信;主要代码如下:
//直接调用短信接口发短信
SmsManager smsManager = SmsManager.getDefault();
List<String> divideContents = smsManager.divideMessage(content);  
for (String text : divideContents) {  
	smsManager.sendTextMessage("150xxxxxxxx", null, text, sentPI, deliverPI);  
}


第二:调起系统发短信功能;主要代码如下:
Uri uri = Uri.parse("smsto:10010");          
Intent it = new Intent(Intent.ACTION_SENDTO, uri);          
it.putExtra("sms_body", "102");          
activity.startActivity(it);



这里主要讲解第一种方法,其中大部分信息来源于互联网


1.获取短信管理器
SmsManager smsManager = SmsManager.getDefault();


2.拆分短信内容(手机短信长度限制)
List<String> divideContents = smsManager.divideMessage(content);


3.发送拆分后的内容
List<String> divideContents = smsManager.divideMessage(content);  
for (String text : divideContents) {  
	smsManager.sendTextMessage("150xxxxxxxx", null, text, sentPI, deliverPI);  
}


4.处理返回的发送状态
String SENT_SMS_ACTION = "SENT_SMS_ACTION";
Intent sentIntent = new Intent(SENT_SMS_ACTION);
PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, sentIntent,
        0);
// register the Broadcast Receivers
context.registerReceiver(new BroadcastReceiver() {
    @Override
    public void onReceive(Context _context, Intent _intent) {
        switch (getResultCode()) {
        case Activity.RESULT_OK:
        	Toast.makeText(context,
        "短信发送成功", Toast.LENGTH_SHORT)
        .show();
        break;
        case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
        break;
        case SmsManager.RESULT_ERROR_RADIO_OFF:
        break;
        case SmsManager.RESULT_ERROR_NULL_PDU:
        break;
        }
    }
}, new IntentFilter(SENT_SMS_ACTION));


5.处理返回的接收状态
String DELIVERED_SMS_ACTION = "DELIVERED_SMS_ACTION";
// create the deilverIntent parameter
Intent deliverIntent = new Intent(DELIVERED_SMS_ACTION);
PendingIntent deliverPI = PendingIntent.getBroadcast(context, 0,
       deliverIntent, 0);
context.registerReceiver(new BroadcastReceiver() {
   @Override
   public void onReceive(Context _context, Intent _intent) {
       Toast.makeText(context,
  "收信人已经成功接收", Toast.LENGTH_SHORT)
  .show();
   }
}, new IntentFilter(DELIVERED_SMS_ACTION));



发送短信的参数说明
smsManager.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent)

-- destinationAddress:目标电话号码
-- scAddress:短信中心号码,测试可以不填
-- text: 短信内容
-- sentIntent:发送 -->中国移动 --> 中国移动发送失败 --> 返回发送成功或失败信号 --> 后续处理   即,这个意图包装了短信发送状态的信息
-- deliveryIntent: 发送 -->中国移动 --> 中国移动发送成功 --> 返回对方是否收到这个信息 --> 后续处理  即:这个意图包装了短信是否被对方收到的状态信息(供应商已经发送成功,但是对方没有收到)。
分享到:
评论

相关推荐

    Android之发送短信的两种方式

    在Android平台上,发送短信是应用程序与用户交互的重要方式之一,主要分为两种方法:直接调用系统短信接口发送和启动系统短信应用。这两种方法各有特点,适用于不同的场景。 1. 调用系统短信接口直接发送短信 这种...

    Android如何实现接收和发送短信

    每一部手机都具有短信接收和发送功能,下面我们通过代码来实现接收和发送短信功能。  一、接收短信 1、创建内部广播接收器类,接收系统发出的短信广播 2、从获得的内容中解析出短信发送者和短信内容 3、在...

    Android 获取系统联系人并发送短信demo

    在Android平台上,获取系统联系人和发送短信是两个常见的功能,常常被用于开发社交或通讯类应用程序。这个“Android 获取系统联系人并发送短信demo”应该是提供了一个示例代码,帮助开发者理解如何实现这两个功能。...

    Android手机后台发送短信

    在Android平台上,开发人员可以利用系统的短信服务API来...总之,Android手机后台发送短信涉及到权限管理、`SmsManager`的使用以及后台任务执行策略。开发者需谨慎处理这些方面,以确保功能的正常运行并遵循最佳实践。

    android 简单的短信发送

    在Android平台上,短信发送是一项基本且重要的功能,它允许用户通过应用程序向其他手机发送文本消息。这个"android 简单的短信发送"项目显然旨在教授如何在Android应用中实现这个功能,尤其适合初学者入门。以下是...

    android中调用相机相册

    在Android应用开发中,调用...综上所述,Android中调用相机和相册涉及到Intent的使用、权限管理、结果处理以及图像的获取和处理等多个知识点。通过合理的代码设计和测试,你可以为用户提供流畅的图片拍摄和选择体验。

    Android软件开发之发送短信与系统短信库解析

    Android系统提供了一个名为`SmsManager`的类,它是发送短信的核心接口。通过这个类,开发者可以调用`sendTextMessage()`方法来发送文本短信。此方法需要接收以下几个参数:目标电话号码、发送消息的回调、以及实际的...

    android中可以通过两种方式调用接口发送短信

    在Android系统中,有两种主要的方法来发送短信。第一种是通过直接调用系统短信接口,而第二种则是启动系统的短信发送界面。...以上就是Android中调用接口发送短信的两种方式,开发者可以根据实际需求选择合适的方法。

    android 给联系人发送短信

    接下来,我们将介绍如何使用Android的SmsManager类来发送短信。SmsManager是Android SDK提供的用于发送短信的类,它提供了多种发送短信的方法。首先,你需要获取SmsManager的实例: ```java SmsManager smsManager ...

    android 零权限发送短信

    总结,Android 4.0及以下版本的零权限发送短信主要是通过在清单文件中声明权限并在代码中使用`SmsManager`来实现。随着Android系统的更新,开发者需要考虑运行时权限管理,确保应用在不同版本上的兼容性和用户体验。

    android中调用硬件摄像头照相

    以上就是Android中调用硬件摄像头拍照的基本流程。实际开发中,可能还需要处理对焦、曝光、白平衡等高级功能,以及处理不同设备间的兼容性问题。同时,为了提供良好的用户体验,还需要考虑拍照后的图片处理,如裁剪...

    unity调用Android Api实现短信发送和震动功能

    对于发送短信,需要`&lt;uses-permission android:name="android.permission.SEND_SMS" /&gt;`,对于震动则需要`&lt;uses-permission android:name="android.permission.VIBRATE" /&gt;`。 7. **注意事项**:在实际应用中,需要...

    Android 实现发短信 监听短信发送状态

    使用`SmsManager`类,这是Android系统提供的用于管理短信的接口。以下是一个简单的示例: ```java public void sendSms(String phoneNumber, String message) { SmsManager smsManager = SmsManager.getDefault();...

    Android上实现的发送短信应用程序

    首先,我们要知道在Android中发送短信主要涉及`SmsManager`类,它是Android SDK提供的一个接口,用于处理短信的发送。在源代码中,我们可能能看到以下关键步骤: 1. **权限声明**:在AndroidManifest.xml文件中,...

    Android发送短信程序

    ### Android发送短信程序详解 #### 一、项目创建与配置 根据给定文件中的内容,本文将详细介绍如何在Android环境中创建并实现一个简单的发送短信的应用程序。本例中,我们将创建一个名为`SendMessage`的工程项目,...

    Android应用源码之自动发送短信.zip

    总结来说,这份"android_auto_sendsms"源码主要展示了如何在Android应用中实现自动发送短信的功能,包括获取权限、使用`SmsManager`类以及处理用户交互。通过学习和理解这些代码,开发者可以将此功能集成到自己的...

    android 定时发送短信 (新)

    在Android系统中,一款名为“android 定时发送短信 (新)”的程序应运而生,为用户提供了定时发送短信的便利功能。这一功能不仅为用户节省了时间,还确保了信息能够准时、准确地送达。本篇将详细探讨该程序的功能...

    【Android】短信发送

    在Android平台上,短信发送是移动应用开发...总的来说,Android的短信发送涉及到权限管理、BroadcastReceiver的使用以及`SmsManager`类的API调用。掌握这些知识点,开发者就能够实现在自己的应用中添加发送短信的功能。

    Android代码-自动发送短信.zip

    在Android平台上,自动发送短信是一项常见的功能,尤其在应用程序中,如紧急通知、验证码验证或后台服务通信等场景。这个“Android代码-自动发送短信.zip”文件很可能包含了一个实现这一功能的示例代码。让我们深入...

    Android 自动发送短信 源码

    SMSManager是Android SDK提供的用于发送短信的接口。首先,我们通过以下代码获取SMSManager实例: ```java SMSManager smsManager = SMSManager.getDefault(); ``` 然后,我们可以调用`sendTextMessage()`方法来...

Global site tag (gtag.js) - Google Analytics