【Android】短信应用——短信发送

前几天写了一个关于实时获取短信的文章,后来想到以前写的一个有发短信功能的工程,想到其中的好处让我直流口水,今天就说说有关如何通过代码实现短信发送。

 

 

当时写完后测试,发现最大的好处就是短信发出去后,在发件箱中没有“迹象”;也就是说,只要用户咨询通信服务商,他是不会知道我们偷偷做了些什么……

(只是涉及权限了,于是乎,豌豆荚先生就会毫不留情的把你的程序牵扯到的权限,毫无保留的告诉用户……唉!)

 PS:后来又写了一篇章关于发送短信存入发件箱的文章

  文章链接:http://blog.csdn.net/etzmico/article/details/6916873

  资源链接:http://download.csdn.net/detail/etzmico/3732601


 下面来看看代码吧。

 先展示下布局。



	
	
	
	
	
	
	
	
	

  

我大概画了一个短信发送页面,比较简陋,各位一笑而过即可……其中主要包含一个发送号码编辑窗口,一个发送内容编辑窗口以及一个发送按钮。

布局预览



接下来是功能实现部分代码

// 短信发送
					SmsManager smsMgr = SmsManager.getDefault();
					Intent i = new Intent("cn.etzmico.smssending");
					PendingIntent dummyEvent = PendingIntent.getBroadcast(
							SMSSending.this, 0, i, 0);
					try {
						smsMgr.sendTextMessage(telNumStr, null, messageStr,
								dummyEvent, dummyEvent);
					} catch (Exception e) {
						Log.e("SmsSending", "SendException", e);
					}


最后别忘了加权限

Manifest.xml

	
	


看看效果吧。

我用的是两台虚拟机掩饰的。

先说明下,有的初学者可能一直在迷惑,虚拟机窗口左上角的“代号”是什么。

我在这里解释下,那个其实就相当于虚拟机的号码,你的手机装上SIM卡啊UIM卡啊就可以拨打电话了,对吧?虚拟机也是,不过它不能打电话,但是发短信还是可以的。


我们来启动两步虚拟机,分别运行,目的是为了双向演示。


先让5554给5556发条信息。



分别输入短信接受号码和短信内容,最后点击发送按钮。

注意右边那台虚拟机的最上面,5556虚拟机已经接到短信了,不过5556那边显示的发送人的号码只是系统随虚拟机一起Creat出来的。


下面我们试试5556给5554发。


也成功了,很明显,发送人的号码和刚才不一样,也就是说,一台模拟器一个绑定了一个模拟号码。



关于短信发送的内容……OVER~


工程资源:http://download.csdn.net/detail/etzmico/3715837

你可能感兴趣的:(【Android】短信应用——短信发送)