`
limdengrock
  • 浏览: 35467 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

菜鸟学Android开发系列之:发送短信拨打电话

阅读更多

在android中有两种方式发送短信:

第一种:

使用 intent-startActivity URI 数据格式为" smsto:num ",调用的 action Intent.ACTION_SENDTO

Intent tent = new Intent();
tent.setAction(Intent.ACTION_SENDTO);
tent.setData(Uri.parse("smsto:5554"));
tent.putExtra("sms_body", "android 你好!");
startActivity(tent);

第二种:

使用SmsManager

EditText num=(EditText)findViewById(R.id.num);

EditText content=(EditText)findViewById(R.id.content);

String mobile=num.getText().toString();

String smstext=content.getText().toString();

//获取SmsManager

SmsManager sms=SmsManager.getDefault();

//如果内容大于70字,则拆分为多条

List<String> texts=sms.divideMessage(smstext);

//逐条发送短信

for(String text:texts)

{

    sms.sendTextMessage(mobile, null, text, null, null);

}                

//发送结果提示

Toast.makeText(SendSMS.this, "发送成功", Toast.LENGTH_LONG).show();
 

二者的不同在于前者只是调用了发送界面,需要按下Send按钮短信才发送出去,而后者则是直接发送出去。

发送SMS权限的设置:

<uses-permissionandroid:name="android.permission.SEND_SMS"/>
 

关于SmsManager

SDK 中的介绍: Manages SMS operations such as sending data, text, and pdu SMS messages. Get this object by calling the static method SmsManager.getDefault().

方法:

public void sendTextMessage (String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)

 

destinationAddress: 收件人地址

scAddress: 短信中心号码,null为默认中心号码

sentIntent: 当消息发出时,成功或者失败的信息报告通过PendingIntent来广播。如果该参数为空,则发信程序会被所有位置程序检查一遍,这样会导致发送时间延长。

deliveryIntent: 当消息发送到收件人时,该PendingIntent会被广播。pdu数据在状态报告的extended data ("pdu")中。

如果收件人或者信息为空则抛出 IllegalArgumentException 。

public ArrayList<String> divideMessage (String text)

将大于70字的短信分割为多条。

参数:text    the original message. Must not be null.

返回:an ArrayList of strings that, in order, comprise the original message

sendDataMessage 参数与上类似,只是用于发送Data。

sendMultipartTextMessage发送多条短信,发送内容必须是用divideMessage分割好了的。

 

打电话的方法

打电话的方法类似,所不同的是URI格式为"tel:num",而调用的action为Intent.ACTION_CALL

Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:18982113450"));
startActivity(intent);

 打电话权限的设置:

<uses-permissionandroid:name="android.permission.CALL_PHONE"/>

 扩展学习:

向模拟器发短信打电话的方法

1.启动android emulator,查看标题栏找出端口。一般是android emulator (5554),其中5554就是端口。

 

2.打开命令行,输入telnet localhost 5554。程序将会连接到android console,返回

Android Console: type 'help' for a list of commands

OK

模拟电话打入gsm <call|accept|busy|cancel|data|hold|list|voice|status>

 

输入gsm call <模拟打进的电话号码>。如:

gsm call 18982113450

模拟短信发送sms send <senderPhoneNumber> <textmessage>

输入sms send <模拟发送短信的电话> <内容>。如:

sms send 18982113450 hello

其中,18982113450为模拟器手机号码。

分享到:
评论

相关推荐

    菜鸟Android开发系列之:线性布局

    在Android应用开发中,线性布局(LinearLayout)是开发者最常用的一种布局管理器。它按照垂直或水平方向将子视图(View)排列,形成一个单一的行或列。本系列教程将深入探讨线性布局的使用方法和技巧,帮助初学者更...

    ( 菜鸟学习Foxtable开发.pptx )

    ( 菜鸟学习Foxtable开发.pptx )

    Android开发入门之路(初学者必读).zip

    "Android开发入门之路(初学者必读).zip"这个压缩包可能包含了一系列针对这些问题的教程、指南或者案例,帮助初学者系统地学习和掌握Android开发的基础知识。 首先,我们来看一下压缩包中的四个文件名,虽然没有...

    Android开发实例:手机助手 源码

    3. **权限管理**:Android 6.0及以上版本引入了运行时权限,开发者需要在代码中适当地请求和处理这些权限,例如读写存储、访问联系人等。 4. **内容提供者(Content Provider)**:如果应用涉及到数据共享或跨应用...

    android商城源码(菜鸟商城)

    总的来说,“菜鸟商城”源码是一个功能完备、注释详尽的Android商城应用实例,对于学习Android开发和实际项目经验的积累都有很大帮助。通过深入研究这份源码,开发者不仅可以掌握Android应用开发的基本技能,还能...

    android学习经典小例子菜鸟必备

    "android学习经典小例子菜鸟必备"这个资源正提供了这样的实践平台,让你的编程之路有迹可循。通过对这些实例的深入研究,你可以逐步提升自己的Android开发技能。 在压缩包文件"tiantianshuqian-master"中,我们可以...

    Android开发入门经典pdf

    系统的、循序渐进的学习Android开发所需的知识 n 第一部分:Android的入门基础 包括:Android是什么、有什么、能干什么,Android开发的环境构建、 HelloWorld开发,HelloWorld基本分析等 n 第二部分:Android应用核心...

    android app项目菜鸟微博

    1. **Android SDK**:Android SDK是开发Android应用的基础,它包含了编写、调试和打包应用所需的所有工具。在这个项目中,我们将用到SDK中的Android Studio IDE,它提供了代码编辑、调试、构建和发布等功能。 2. **...

    Android菜鸟日记25-android反编译

    这篇“Android菜鸟日记25-android反编译”将带你走进Android反编译的世界,揭示APK背后的秘密。 首先,让我们了解什么是Android反编译。Android应用主要由Java语言编写,经过编译后生成Dalvik字节码(.dex文件),...

    【菜鸟谈android】(二) android基本概念及处理过程

    6. **Android SDK和开发环境**:Android软件开发工具包(SDK)包含了开发Android应用所需的所有工具,包括Android Studio。熟悉这些工具的使用可以提升开发效率。 7. **Android源码**:文件“android-src.jar”可能...

    傻瓜式Android APP开发入门教程

    - **Android SDK** 包含了一系列用于开发Android应用程序的工具。可以通过访问Android开发者网站下载最新的SDK包。如果您还没有集成开发环境(IDE),可以选择下载包含Eclipse的完整包;如果已经有IDE,则可以选择...

    菜鸟商城Android全套视屏教程

    # 菜鸟商城 # 是一个仿淘宝客户端的实战课程,功能包括:1.支付(支付宝,微信,百度钱包) 、首页 、热卖 、商品大全 、购物车 、我的 、商品列表 、商品详情 、注册/登录 、收货地址 、我的订单 、我的收藏 ..... ...

    linux系统下搭建android开发平台

    菜鸟系列之一:在UBUNTU LINUX 下搭建ANDROID开发平台。 本文档系统的整理了在ubuntu系统下如何搭建android开发平台,对android感兴趣的同学可以借鉴学习下。

    菜鸟学习Foxtable开发.pptx

    但是,对于菜鸟开发者来说,学习Foxtable开发可能是一个具有挑战性的任务。为了帮助这些开发者,本文将提供一个详细的Foxtable开发指南,涵盖了开发顺序、设计方法、表相关、窗口相关、菜单相关、权限相关等多个方面...

    android应用开发流程

    Android 应用开发流程是一系列复杂的步骤,需要掌握多种技术和技能。本文旨在帮助菜鸟开发者快速入门 Android 应用开发,提供了详细的流程和经验总结。 准备工作 在开始 Android 应用开发之前,需要具备以下技能:...

    android逆向菜鸟速参手册完蛋版

    - **关键位置定位**:通过查找特定的关键函数(如网络请求、短信发送等),可以快速定位到应用程序的核心逻辑部分。 - **活用logcat**:利用logcat工具捕获应用程序的日志信息,有助于理解程序的运行状态和异常...

    Android移动应用开发从入门到精通

    《Android移动应用开发从入门到精通》这本书是针对Android移动应用开发领域的一本实用指南。在介绍这本书之前,我们需要了解Android平台的基础知识以及移动应用开发的相关概念。 首先,Android是一种基于Linux内核...

    自己用半年所有的业余时间从根本没怎么学习过android的菜鸟不断学习开发了一个基于地图的聊天app做工比较粗糙但基本功能都有了。因为种种原因不能把它做成一款商业产品又不想把它埋没了。现在我把这个分享给大家希望对大家有帮助。如果是初学者的话里面确实有android各个方面的小技术应用值得学习。git地址httpsgithub.compingguokillerStarChat.rar

    自己用半年所有的业余时间从根本没怎么学习过android的菜鸟不断学习开发了一个基于地图的聊天app做工比较粗糙但基本功能都有了。因为种种原因不能把它做成一款商业产品又不想把它埋没了。现在我把这个分享给大家希望...

    从菜鸟到高手 Android系列问答汇总.doc

    从菜鸟到高手 Android系列问答汇总

Global site tag (gtag.js) - Google Analytics