Android ---模拟手机发送短信

转载 2012年03月21日 11:08:43
    上次成功实现了“拨打电话”后,心里兴奋极了,于是一口气研究了手机发送短信的原理,其实也很简单。

新建SMS,工程如下所示:


     


    ●修改res/values目录下的string.xml文件,如下所示:


  1. <?xml version="1.0"encoding="utf-8"?>  
  2. <resources>  
  3.    
  4.     <string name="hello">Hello World,SMSActivity!</string>  
  5.     <string name="app_name">发送短信</string>  
  6.     <string name="mobile">请输入手机号</string>  
  7.     <string name="content">请输入短信内容</string>  
  8.     <string name="button">发送短信</string>  
  9.     <string name="sendSucc">发送成功!</string>  
  10. </resources>  


     ●修改res/layout目录下的main/xml文件


  1. <?xml version="1.0"encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.    
  7.     <TextView  
  8.        android:layout_width="fill_parent"  
  9.        android:layout_height="wrap_content"  
  10.        android:text="@string/mobile" />  
  11.    
  12.     <EditText  
  13.        android:id="@+id/mobile"  
  14.        android:layout_width="fill_parent"  
  15.        android:layout_height="wrap_content">  
  16.    
  17.         <requestFocus />  
  18.     </EditText>  
  19.    
  20.     <TextView  
  21.        android:id="@+id/textView1"  
  22.        android:layout_width="fill_parent"  
  23.        android:layout_height="wrap_content"  
  24.        android:text="@string/content" />  
  25.    
  26.     <EditText  
  27.        android:id="@+id/content"  
  28.        android:layout_width="fill_parent"  
  29.        android:layout_height="wrap_content"  
  30.        android:layout_weight="0.96"  
  31.        android:inputType="textMultiLine"/>  
  32.    
  33.     <Button  
  34.        android:id="@+id/button"  
  35.        android:layout_width="wrap_content"  
  36.        android:layout_height="wrap_content"  
  37.        android:text="@string/button" />  
  38.    
  39. </LinearLayout>  


     这个文件主要用于设计界面,界面预览可以点击eclipse编辑文件区的Graphical  Layout,如下所示:



   

      ●修改src/com/sinosoft目录下的SMSActivity.java文件

 

  1. package com.sinosoft;  
  2.    
  3. import android.app.Activity;  
  4. import android.telephony.SmsManager;  
  5. import android.widget.Toast;  
  6. import android.os.Bundle;  
  7. import android.widget.*;  
  8. import android.view.*;  
  9. import java.util.*;  
  10. public class SMSActivity extends Activity {  
  11.     /** Calledwhen the activity is first created. */  
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.main);  
  16.         Button buttion=(Button) this.findViewById(R.id.button);  //获取按钮  
  17.         buttion.setOnClickListener(newView.OnClickListener() {   //为按钮设置监听事件  
  18.             
  19.            public void onClick(View v) {  
  20.               // TODO Auto-generatedmethod stub  
  21.               EditText mobileText=(EditText) findViewById(R.id.mobile);   //获得手机号码文本框  
  22.               EditText contentText=(EditText) findViewById(R.id.content); //获得短信文本框  
  23.               String mobile=mobileText.getText().toString();  //获得手机号码  
  24.               String content=contentText.getText().toString();  //获得短信内容  
  25.               SmsManager smsManager=SmsManager.getDefault();  //获取系统短信管理器  
  26.               List<String> list=smsManager.divideMessage(content);  
  27.               for(String l:list){  //如果短信超过70个字,则将短信内容拆分为几条发送  
  28.                   smsManager.sendTextMessage(mobile, null, l, nullnull);  
  29.               }  
  30.            //  Toast.makeText(SMSActivity.this,R.string.success, Toast.LENGTH_LONG).show();  
  31.               Toast.makeText(SMSActivity.this, R.string.sendSucc, Toast.LENGTH_LONG).show();  //添加短信发送成功提醒  
  32.            }  
  33.        });  
  34.     }  
  35. }  


 

    具体解释详见代码注释

 

    ●设置发送短信权限


     在AndroidMainFest/xml加入一句:<uses-permission android:name="android.permission.SEND_SMS"/>

就可,代码如下所示:

  

  1. <?xml version="1.0"encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.sinosoft"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.    
  7.     <uses-sdk android:minSdkVersion="10"/>  
  8.     <uses-permission  android:name="android.permission.SEND_SMS"/>  
  9.     <application  
  10.        android:icon="@drawable/ic_launcher"  
  11.        android:label="@string/app_name" >  
  12.         <activity  
  13.            android:name=".SMSActivity"  
  14.            android:label="@string/app_name" >  
  15.             <intent-filter>  
  16.                 <action android:name="android.intent.action.MAIN" />  
  17.                 <category android:name="android.intent.category.LAUNCHER" />  
  18.             </intent-filter>  
  19.         </activity>  
  20.     </application>  
  21.    
  22. </manifest>  

     ●运行程序


     运行此程序后发送短信的界面如下所示:




     输入“手机号码”与“短信内容”,如果发送成功,则会提示你“发送成功”:




这是接收到的手机短信:




       很简单吧,其实实现了这2个小心愿之后我决定要回过头好好研究这个项目各个文件的作用,这是下节的开始的内容,小例子就学到这儿...


       这是本人学习的结果,欢迎转载,欢迎交流,但转载务必给出本文章的链接地址:http://blog.csdn.net/youqishini/article/details/7371347,谢谢~


相关文章推荐

IOS Android 手机助手原理以及源码(获取手机屏幕截图)

有了前面的基础,就可以实现一些高级的功能了,这次介绍如何获取iphone,ipad 的屏幕 1) 要获取iPhone 或者iPad 的屏幕第一步需要给手机安装一个 开发者 工具。 这个开发者工...

IOS Android 手机助手原理以及源码(Android 手机连接)

一切准备就绪之后就需要把android 设备和PC 连接起来,形成一个链路,然后双方就可以发送和接收数据了。在开始连接之前需要确保使用adb devices 命令能获取到正常的设备。先说一下原理部分 ...

Android短信发送,监听,及其工具类封装

这几天在读ViewPager及相关控件的源码和相关开源的代码,还没构思好比较系统容易理解记忆的文章内容概述,就分享个封装的工具类供同仁们参考一下吧 一,封装 :发送短信 发送短信比较简单,...

IOS Android 手机助手原理以及源码(Android 手机自动识别 一)

Android 的手机自动识别就比IOS 的要复杂的多了。其实iTunes 已经把所有的事情都做好了,但是android 就需要我们自己一步一步来了。过程大致如下 1) 监视USB 设备的插入和拔出 ...

Android模拟器模拟打电话,发短信

启动模拟器并连接成功 C:\Users\BillGates>telnet localhost 5554(模拟器端口号) Android Console: type 'help' f...

Android模拟手机QQ+发送短信案例

需求:模拟手机QQ登陆界面,实现虚假的一直等待效果:

Android学习笔记(5)---模拟手机发送短信

上次成功实现了“拨打电话”后,心里兴奋极了,于是一口气研究了手机发送短信的原理,其实也很简单。 新建SMS,工程如下所示:           ●修改res/values目录下的...

Android项目实战--手机卫士10--GPS定位与发送短信指令

由于周末有点事,所以没来得及继续更新我们的这个项目,今天终于有时间写一下啦。 好啦,废话不多说,我们进入主题,今天我们要继续上一次讲的,就是手机被盗之后,获得手机所在的位置。 上一次,我们说到了,如果...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)