编程人员可以对Android手机操作系统进行一些更改来满足用户的需求。不过要想对其进行修改,首先需要了解其源码的编写方式。在这里我们先来看看Android短信功能的具体实现,来体验一下相关编写方式。

1:Android短信发送可以在模拟器中进行模拟出来。

如现在启动一模拟器id号为5554,运行cmd
telnetlocalhost5554

输入help可以看到很多用于模拟器中的功能命令

          
  1. gsmcall134343434//便是呼叫当前模拟器命令
  2. smssend15555218135Hello,thisisaMessage//是向当前的模拟器发送短信息

2:相关类:

          
  1. Android.telephony.gsm.SmsManagerAndroid.telephony.gsm.SmsMessage
  2. Android.app.PendingIntentAndroid.widget.Toast


3:Android短信发送实现代码(节选)

          
  1. Stringmsg="hello";stringnumber="1234565678";
  2. SmsManagersms=SmsManager.getDefault();PendingIntentpi=PendingIntent. getBroadcast(Sms.this,0,newIntent(),0);
  3. sms.sendTextMessage(number,null,msg,pi,null);Toast.makeText(Sms.this,"sendsuccess", Toast.LENGHT_LONG).show();


4:Android短信发送代码解释

上述发送短信的代码很简单,但是其中的几个类函数并不好理解:Android重力感应实现方式简介Android Theme详细内容概述Android应用技巧总结Android显示网络图片相关实现方法浅谈Android开机自启动具体操作方法简介

Toast.makeText就是展示一个提示信息,这个比较容易理解;

PendingIntent就是一个Intent的描述,我们可以把这个描述交给别的程序,别的程序

根据这个描述在后面的别的时间做你安排做的事情,BygivingaPendingIntenttoanotherapplication,youaregrantingittherighttoperformtheoperationyouhavespecifiedasiftheother
applicationwasyourself,就相当于你的代表了。本例中别的程序就是发送短信的程序,短信发送成功后要把intent广播出去。

函数sendTextMessage(StringdestinationAddress,StringscAddress,Stringtext,PendingIntentsentIntent,PendingIntentdeliveryIntent)

前三个参数按照文档比较容易理解,PendingIntentsentIntent当短信发出时,成功的话sendIntent会把其内部的描述的intent广播出去,否则产生错误代码并通过Android.app.PendingIntent.OnFinished进行回调,这个参数最好不为空,否则会存在资源浪费的潜在问题;

deliveryIntent是当消息已经传递给收信人后所进行的PendingIntent广播。

查看PendingIntent类可以看到许多的Send函数,就是PendingIntent在进行被赋予的相关的操作。

Android短信发送的相关实现方法就为大家介绍到这里。

原文:http://www.baisoujs.com/detail_137070713892117.html

更多相关文章

  1. Android模拟器与真机的9个区别
  2. 在 Android 上使用 XML 传输数据(附例子程序)
  3. Android实战(四)------Myeclipse10搭建android运行环境图文详细
  4. 使用夜神模拟器进行Android开发调试
  5. 关于 Android 程序使用 Support Library 属性的几点说明
  6. Android:从程序员到架构师之路
  7. Android 应用程序退出后不在运行列表中显示的方法
  8. Android 之 向模拟器的sdcard中添加文件
  9. 2020年20种最佳Android应用程序模板

随机推荐

  1. 【Android】16.5 Android内置的系统服务
  2. android:configChanges属性
  3. 在Android中查看和管理sqlite数据库
  4. Android(安卓)中文api (88)――SharedPre
  5. android photoview 图片放大缩放功能 Ima
  6. 2011.12.05(2)——— android JNI学习之一
  7. android 电容屏(三):驱动调试之驱动程序分析
  8. 面试例题6:两种方法将图像显示在View上
  9. Android之Handler用法总结
  10. 1.2 Android(安卓)开发环境搭建