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

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如何实现接收和发送短信

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

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

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

    android 简单的短信发送

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

    android中调用相机相册

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

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

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

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

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

    Android之发送短信的两种方式

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

    android 给联系人发送短信

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

    android 零权限发送短信

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

    android中调用硬件摄像头照相

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

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

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

    Android发送短信程序

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

    android 定时发送短信 (新)

    综上所述,"android 定时发送短信 (新)"是一个全面的通信工具,它集成了即时发送、定时发送、取消任务、拨号和联系人搜索等功能,且针对之前的问题进行了修复,提供了一个高效且稳定的使用体验。对于需要频繁或...

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

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

    【Android】短信发送

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

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

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

    Android系统源码短信收发流程分析

    Android 短信收发流程是 Android 系统源码中一个非常重要的模块,它负责处理短信的发送和接收过程。在这个流程中,涉及到多个组件和类别,包括 ComposeMessageActivity、WorkingMessage、TelephonyManager 等。下面...

    Android项目源码发送加密短信解密本地短信

    在Android中,发送短信通常需要使用SmsManager类,它是Android SDK提供的一个接口,用于发送文本短信。但是,为了实现加密,我们需要在发送之前对短信内容进行加密。常见的加密算法有AES(高级加密标准)、RSA(公钥...

    Android高级应用源码-android 零权限发送短信,支持android 4.0以上版本。.zip

    【标题】中的“Android高级应用源码-android 零权限发送短信,支持android 4.0以上版本”指的是一个Android应用程序,它具有在无需获取系统级短信发送权限的情况下发送短信的功能。这一特性对于某些场景非常有用,...

    Android短信发送程序

    总结来说,创建一个Android短信发送程序涉及Android的权限管理、UI设计、Intent使用、SmsManager类的操作以及可能的事件监听。理解这些知识点对于Android开发者来说至关重要,因为它们构成了构建功能丰富的移动应用...

Global site tag (gtag.js) - Google Analytics