- 浏览: 5825827 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
android中可以通过两种方式发送短信
第一:调用系统短信接口直接发送短信;主要代码如下:
第二:调起系统发短信功能;主要代码如下:
别忘了权限:
<uses-permission android:name="android.permission.SEND_SMS" />
这里主要讲解第一种方法,第一种方法可以监控发送状态和对方接收状态。
处理返回的发送状态:
处理返回的接收状态 :
发送短信的参数说明:
-- destinationAddress:目标电话号码
-- scAddress:短信中心号码,测试可以不填
-- text: 短信内容
-- sentIntent:发送 -->中国移动 --> 中国移动发送失败 --> 返回发送成功或失败信号 --> 后续处理 即,这个意图包装了短信发送状态的信息
-- deliveryIntent: 发送 -->中国移动 --> 中国移动发送成功 --> 返回对方是否收到这个信息 --> 后续处理 即:这个意图包装了短信是否被对方收到的状态信息(供应商已经发送成功,但是对方没有收到)。
说错了,是第二种
第一:调用系统短信接口直接发送短信;主要代码如下:
/** * 直接调用短信接口发短信 * @param phoneNumber * @param message */ public void sendSMS(String phoneNumber,String message){ //获取短信管理器 android.telephony.SmsManager smsManager = android.telephony.SmsManager.getDefault(); //拆分短信内容(手机短信长度限制) List<String> divideContents = smsManager.divideMessage(message); for (String text : divideContents) { smsManager.sendTextMessage(phoneNumber, null, text, sentPI, deliverPI); } }
第二:调起系统发短信功能;主要代码如下:
/** * 调起系统发短信功能 * @param phoneNumber * @param message */ public void doSendSMSTo(String phoneNumber,String message){ if(PhoneNumberUtils.isGlobalPhoneNumber(phoneNumber)){ Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:"+phoneNumber)); intent.putExtra("sms_body", message); startActivity(intent); } }
别忘了权限:
<uses-permission android:name="android.permission.SEND_SMS" />
这里主要讲解第一种方法,第一种方法可以监控发送状态和对方接收状态。
处理返回的发送状态:
//处理返回的发送状态 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));
处理返回的接收状态 :
//处理返回的接收状态 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: 发送 -->中国移动 --> 中国移动发送成功 --> 返回对方是否收到这个信息 --> 后续处理 即:这个意图包装了短信是否被对方收到的状态信息(供应商已经发送成功,但是对方没有收到)。
评论
3 楼
ZHOU452840622
2017-06-19
大神://处理返回的接收状态 这个好像没有监听到 遇到过这种问题吗 小米5
2 楼
一级苦工
2015-06-27
一级苦工 写道
弱弱的问一句,第一种方法能监听到用户是否点击发送按钮并成功发送了吗?
说错了,是第二种
1 楼
一级苦工
2015-06-27
弱弱的问一句,第一种方法能监听到用户是否点击发送按钮并成功发送了吗?
发表评论
-
NestedScrollView滚动到顶部固定子View悬停挂靠粘在顶端
2018-10-31 20:45 7011网上有一个StickyScrollView,称之为粘性Scro ... -
自定义Behavior实现AppBarLayout越界弹性效果
2017-03-31 09:33 10384一、继承AppBarLayout.Beha ... -
Android - 一种相似图片搜索算法的实现
2017-03-31 09:33 2632算法 缩小尺寸。 将图片缩小到8x8的尺寸,总共64个 ... -
使用SpringAnimation实现带下拉弹簧动画的 ScrollView
2017-03-30 11:30 2859在刚推出的 Support Library 25.3.0 里面 ... -
Android为应用添加角标(Badge)
2017-03-30 11:21 61951.需求简介 角标是什么意思呢? 看下图即可明了: 可 ... -
Android端与笔记本利用局域网进行FTP通信
2017-03-23 10:17 988先看图 打开前: 打开后: Activity类 ... -
PorterDuffColorFilter 在项目中的基本使用
2017-03-03 10:58 1361有时候标题栏会浮在内容之上,而内容会有颜色的变化,这时候就要求 ... -
ColorAnimationView 实现了滑动Viewpager 时背景色动态变化的过渡效果
2017-02-24 09:41 2231用法在注释中: import android.anima ... -
迷你轻量级全方向完美滑动处理侧滑控件SlideLayout
2017-01-16 16:53 2602纯手工超级迷你轻量级全方向完美滑动处理侧滑控件(比官方 sup ... -
Effect
2017-01-05 09:57 0https://github.com/JetradarMobi ... -
动态主题库Colorful,容易地改变App的配色方案
2016-12-27 14:49 2572Colorful是一个动态主题库,允许您很容易地改变App的配 ... -
对视图的对角线切割DiagonalView
2016-12-27 14:23 1126提供对视图的对角线切割,具有很好的用户定制 基本用法 ... -
仿淘宝京东拖拽商品详情页上下滚动黏滞效果
2016-12-26 16:53 3505比较常用的效果,有现成的,如此甚好!:) import ... -
让任意view具有滑动效果的SlideUp
2016-12-26 09:26 1712基本的类,只有一个: import android.a ... -
AdvancedWebView
2016-12-21 09:44 16https://github.com/delight-im/A ... -
可设置圆角背景边框的按钮, 通过调节色彩明度自动计算按下(pressed)状态颜色
2016-11-02 22:13 1931可设置圆角背景边框的的按钮, 通过调节色彩明度自动计算按下(p ... -
网络请求库相关
2016-10-09 09:35 62https://github.com/amitshekhari ... -
ASimpleCache一个简单的缓存框架
2015-10-26 22:53 2185ASimpleCache 是一个为android制定的 轻量级 ... -
使用ViewDragHelper实现的DragLayout开门效果
2015-10-23 10:55 3424先看一下图,有个直观的了解,向下拖动handle就“开门了”: ... -
保证图片长宽比的同时拉伸图片ImageView
2015-10-16 15:40 3740按比例放大图片,不拉伸失真 import android. ...
相关推荐
在Android平台上,发送短信是应用程序与用户交互的重要方式之一,主要分为两种方法:直接调用系统短信接口发送和启动系统短信应用。这两种方法各有特点,适用于不同的场景。 1. 调用系统短信接口直接发送短信 这种...
2. 使用`WorkManager`或`JobScheduler`:这两种是Android提供的后台任务调度器,可以在合适的时机执行你的任务。 3. 如果可能,尽量让发送短信的操作与用户交互相关联,避免在应用完全后台运行时发送。 同时,考虑...
接下来,使用`SmsManager`发送短信有两种方式:直接发送和分段发送。对于较短的消息,可以直接发送: ```java smsManager.sendTextMessage(phoneNumber, null, message, null, null); ``` 这里,`null`参数表示...
在Android系统中,有两种主要的方法来发送短信。第一种是通过直接调用系统短信接口,而第二种则是启动系统的短信发送界面。...以上就是Android中调用接口发送短信的两种方式,开发者可以根据实际需求选择合适的方法。
注册BroadcastReceiver有两种方式:静态注册(在AndroidManifest.xml中)和动态注册(在代码中)。考虑到应用可能需要在后台接收短信,通常会使用静态注册。 3. **SMSManager**: SMSManager是Android提供的API,...
这个"Android短信发送源码"示例为你提供了一种简单易懂的方法来实现这一功能。下面将详细讲解相关知识点,包括Android SMS API的使用、权限管理以及实际的代码实现。 首先,Android系统为发送短信提供了`SmsManager...
在Android应用开发中,Intent是一种强大的机制,用于在组件之间传递消息并启动操作。本案例主要探讨如何利用Intent实现拨打电话和发送短信的功能。首先,我们需要理解Intent的基本概念。 Intent在Android系统中扮演...
3. **获取天气预报**:获取天气预报信息通常有两种方式:一是使用第三方天气API,如OpenWeatherMap、AccuWeather等,这些API提供了JSON或XML格式的天气数据,可以通过HTTP请求获取;二是使用内置的天气服务,如果有...
Android 短信SMS发送代码流程是 Android 操作系统中的一种重要功能,允许用户发送短信给其他用户。本文将详细介绍 Android 短信SMS发送代码流程的实现机制。 Messaging 应用层 在 Android 中,短信发送功能是通过 ...
本文将深入探讨如何在Android应用中实现这两种通信方式。 首先,我们要了解Android的权限管理。在AndroidManifest.xml文件中,必须添加相应的权限声明,才能允许应用程序进行短信发送和电话拨打。对于发送短信,...
5. **发送短信**:有两种方式发送短信,根据需求选择合适的方法: - **单个接收者**:使用`sendTextMessage()`方法。 ```java smsManager.sendTextMessage(recipient, null, message, null, null); ``` - **多...
3. 发送短信有两种方式:分段发送和一次性发送。如果短信内容过长,`SmsManager`会自动将其拆分为多个短信分段。分段发送代码如下: ```java ArrayList<String> parts = smsManager.divideMessage(message); for ...
注册BroadcastReceiver有两种方式:静态注册和动态注册。静态注册在AndroidManifest.xml中进行,而动态注册则在代码中完成。考虑到权限请求,推荐动态注册。在Activity的onCreate方法中添加以下代码: ```java ...
- **广播类型**:主要有两种类型的广播,分别是**正常广播**和**有序广播**。 - **正常广播**:完全异步执行,效率高但无法传递结果或终止广播数据传播。 - **有序广播**:按顺序执行,允许当前接收者控制是否继续...
`CountDownTimer`是Android SDK提供的一种定时器类,它能进行倒计时操作,并且在每个间隔时间结束后执行特定的回调方法。这个类有两个构造函数,分别是: ```java public CountDownTimer(long millisInFuture, long...
有两种主要方式实现后台运行: 1. **Service**:创建一个Service,启动后持续运行。在Service中注册BroadcastReceiver,这样即使应用主界面关闭,BroadcastReceiver也能接收到短信广播。 2. **IntentService**:...
在Android应用开发中,短信验证码是一种常见的用户身份验证机制,用于确保用户提供的手机号码真实有效。本篇文章将详细介绍如何利用Mob SDK在Android应用中实现发送短信验证码的功能。 首先,我们需要在Mob官网...
在Android系统中,监听短信通常有两种方法:通过注册BroadcastReceiver监听SMS_RECEIVED_ACTION广播和使用ContentObserver监控短信数据库。这两种方法各有优缺点,下面将详细解释它们的工作原理和实现方式。 1. ...
Android 模拟器互发短信程序演示是一种基于 Android 平台的短信发送程序,该程序可以在两个 Android 模拟器之间互发短信。下面是该程序的详细介绍: 一、创建 Android 工程 在创建 Android 工程时,我们需要指定...