Android短信发送功能实现技巧分享
创始人
2024-06-22 03:20:17
0

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

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

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

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

  1. gsm call 134343434   
  2. // 便是呼叫当前模拟器命令   
  3. sms send 15555218135 Hello,this is a Message   
  4. // 是向当前的模拟器发送短信息  

2: 相关类: 

  1. Android.telephony.gsm.SmsManager   
  2. Android.telephony.gsm.SmsMessage   
  3. Android.app.PendingIntent   
  4. Android.widget.Toast  

 

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

  1. String msg ="hello";   
  2. string number = "1234565678";   
  3. SmsManager sms = SmsManager.getDefault();   
  4. PendingIntent pi = PendingIntent.
    getBroadcast(Sms.this,0,new Intent(),0);   
  5. sms.sendTextMessage(number,null,msg,pi,null);   
  6. Toast.makeText(Sms.this,"send success",
    Toast.LENGHT_LONG).show();  

 

4:Android短信发送代码解释 

上述发送短信的代码很简单,但是其中的几个类函数并不好理解: #t#

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

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

根据这个描述在后面的别的时间做你安排做的事情,By giving a PendingIntent to another application, you are granting it the right to perform the operation you have specified as if the other 
application was yourself,就相当于你的代表了。本例中别的程序就是发送短信的程序,短信发送成功后要把intent 广播出去 。

函数sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)

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

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

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

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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...