`

Android基础教程之----SMS简单发送短信程序(两个模拟器之间的通信)!

阅读更多

前面的范例,示范了如何通过程序拨打电话,在GSM移动通信系统的服务中,除了打电话外,另一个常用的功能,就是发短信.也因为如此,许多电信业者推出专属短信族的专用费率,由此可知短信功能对手机的重要性.

发送短信的关键程序是通过SmsManager对象的sendTextMessage()方法来完成,其中sendTextMessage()方法需传入五个值,依次是收件人地址(String),发送地址(String),发送服务(PendingIntent)与送达服务(PendingIntent),其中收件人与正文是不可为null的两个参数.

本例子通过两个模拟器,5554,5556互相通信,下面我将分5个步骤,讲一下发送短信程序是如何实现的.

Step 1:建立一个Android工程,我们命名为SMSDemo.

Step 2:设计一下程序的UI,也就是主界面main.xml,这里用AbsoluteLayout,有点丑见笑了!代码如下:

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="收件 人:"
android:textSize="16sp"
android:layout_x="0px"
android:layout_y="12px"
>
</TextView>
<EditText
android:id="@+id/myEditText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
android:textSize="18sp"
android:layout_x="60px"
android:layout_y="2px"
>
</EditText>
<EditText
android:id="@+id/myEditText2"
android:layout_width="fill_parent"
android:layout_height="223px"
android:text=""
android:textSize="18sp"
android:layout_x="0px"
android:layout_y="52px"
>
</EditText>
<Button
android:id="@+id/myButton1"
android:layout_width="162px"
android:layout_height="wrap_content"
android:text="发送短信"
android:layout_x="80px"
android:layout_y="302px"
>
</Button>
</AbsoluteLayout>

Step 3:主控制程序SMSDemo.java如下:

package com.android.test;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;

import android.os.Bundle;
import android.telephony.gsm.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class SMSDemo extends Activity {

private Button mButton1;
private EditText mEditText1;
private EditText mEditText2;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//获取资源
mEditText1 = (EditText)findViewById(R.id.myEditText1);
mEditText2 = (EditText)findViewById(R.id.myEditText2);
mButton1 = (Button)findViewById(R.id.myButton1);
//发送短信的响应
mButton1.setOnClickListener(new Button.OnClickListener(){

public void onClick(View v) {
//获取发送地址和发送内容
String messageAddress = mEditText1.getText().toString();
String messageContent = mEditText2.getText().toString();

//构建一取得default instance的SmsManager对象

SmsManager smsManager = SmsManager.getDefault();
//检查输入内容是否为空,这里为了简单就没有判断是否是号码,短信内容长度的限制也没有做
if(messageAddress.trim().length()!=0 && messageContent.trim().length()!=0)
{
try{
PendingIntent pintent = PendingIntent.getBroadcast(SMSDemo.this, 0, new Intent(), 0);
smsManager.sendTextMessage(messageAddress, null, messageContent, pintent, null);

}catch(Exception e)
{
e.printStackTrace();
}
//提示发送成功
Toast.makeText(SMSDemo.this, "发送成功", Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(SMSDemo.this, "发送地址或者内容不能为空", Toast.LENGTH_SHORT).show();
}
}

});
}
}

Step 4:增加拨打电话权限AndroidManifest.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.test"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".SMSDemo"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
</manifest>

Step 5:run it!效果图如下,55545556发送了一条短信:

Ok~今天到此结束,谢谢大家关注!

分享到:
评论

相关推荐

    Android高手进阶教程与Android基础教程

    Android基础教程之----SMS简单发送短信程序(两个模拟器之间的通信)!.doc Android基础教程之----动态更改屏幕方向的简单例子(LANDSCAPE与PORTRAIT)! .doc Android基础教程之----五大布局对象.doc

    Android模拟器之间相互发短信代码

    现在,你已经具备了在Android模拟器之间发送和接收短信的基础知识。在实际开发中,可能还需要考虑错误处理、用户交互以及系统权限等问题。记得在测试时,确保所有的模拟器都在同一网络环境下,否则可能无法正常通信...

    Android发送短信程序

    ### Android发送短信程序详解 #### 一、项目创建与配置 根据给定文件中的内容,本文将详细介绍如何在Android环境中创建并实现一个简单的发送短信的应用程序。本例中,我们将创建一个名为`SendMessage`的工程项目,...

    react-native-sms, 支持iOS和Android的短信发送方.zip

    react-native-sms, 支持iOS和Android的短信发送方 react-native-sms用户定义的SendSMS使用这个 rn 组件发送带有回调 (completed/cancelled/error). iOS和Android的短信。目前,只支持用户发送短信。 this react-na

    Android短信发送程序

    这个程序的主要目的是允许用户向其他设备发送短信,这里特别提到了在两个模拟器之间进行信息传递。以下是对这个话题的详细解释: 1. **AndroidManifest.xml**: 这是每个Android应用的核心配置文件,用于声明应用的...

    Android-阿里云短信集成aliyun-sms-spring-boot-starter

    阿里云短信服务是一款高效、稳定、安全的云通信产品,主要为移动应用、网站、企业内部系统等提供验证码、通知类短信以及营销短信的发送能力。`aliyun-sms-spring-boot-starter`是阿里云专门为Spring Boot应用程序...

    android-sms短信发送

    这个【android-sms短信发送】项目旨在教你如何在虚拟环境中实现一个完整的短信发送流程。以下是对这一知识点的详细阐述: 1. **短信API使用**: Android系统提供了一个名为`SmsManager`的类,它是用于发送和接收...

    Android工程源代码-手机短信发送

    在Android平台上,开发一款能发送短信的应用涉及到许多关键知识点,主要涵盖了Android SDK、Java编程语言以及Android系统的消息处理机制。以下是对这些知识点的详细说明: 1. **Android SDK**: Android软件开发工具...

    简单的安卓短信发送程序

    总结,"简单的安卓短信发送程序"是一个涵盖Android基础、权限管理、用户界面设计、系统服务使用等多方面知识的项目。通过这个项目,开发者可以更深入地理解Android应用的开发流程,提升实战能力。

    android发送短信息程序

    在Android平台上,开发一个能够发送短信的程序是一个常见的需求,特别是在构建移动应用时。这个程序不仅涉及到了消息的发送功能,还涵盖了用户界面的切换以及短信的拦截。下面将详细阐述这些关键知识点。 1. **...

    Sms.rar_MMS_android sms_android 短信_sms_sms android

    在Android平台上,短信服务是应用程序与用户之间进行通信的重要途径之一。这个名为"Sms.rar"的压缩包包含了一个关于Android SMS(Short Message Service)功能的源码实现,特别提到了MMS(Multimedia Messaging ...

    二个android模拟器互发短信程序演示

    Android 模拟器互发短信程序演示是一种基于 Android 平台的短信发送程序,该程序可以在两个 Android 模拟器之间互发短信。下面是该程序的详细介绍: 一、创建 Android 工程 在创建 Android 工程时,我们需要指定...

    android发送短信程序

    在Android平台上,开发一个能够发送短信的程序是一个常见的需求,特别是在构建消息传递或者通知类的应用时。本例为你提供了一个基础的实现方案,适用于Android 2.3及以上版本的系统。下面将详细介绍如何在Android中...

    Android_SMS.rar_Android_SMS_android_apk_安卓 短信发送_安卓SMS

    【标题】"Android_SMS.rar" 是一个包含有关Android短信功能的源代码压缩包,主要针对的是Android平台上短信的发送和接收。"Android_SMS_android_apk" 暗示了这可能是一个已经打包好的APK应用,可以安装在Android设备...

    Android-SMS.rar_android_android sms_android tts SMS_android 短信_s

    在Android平台上,短信服务(SMS)是移动应用开发中的一个重要组成部分。这个名为"Android-SMS.rar"的压缩包文件显然包含了一个与短信处理相关的Android应用,特别是实现了短信语音播报的功能,这可以极大地便利用户...

    Android之发送短信的两种方式

    在Android平台上,发送短信是应用程序与用户交互的重要方式之一,主要分为两种方法:直接调用系统短信接口发送和启动系统短信应用。这两种方法各有特点,适用于不同的场景。 1. 调用系统短信接口直接发送短信 这种...

    android 简单的短信发送

    总结,这个"android 简单的短信发送"项目提供了一个基础的教程,帮助开发者学习如何在Android应用中实现短信发送功能。通过理解`SMSManager`类的使用、权限请求以及BroadcastReceiver的监听机制,开发者可以构建自己...

    android学习教程--广播机制

    在这个例子中,我们创建了一个简单的Activity,包含两个按钮,一个用于动态注册BroadcastReceiver,另一个用于注销。BroadcastReceiver监听SMS_RECEIVED事件,当收到新短信时会执行相应的操作。 ```java public...

    Android代码-静默短信发送

    Android Silent SMS Ping Does not require rooted device SMS will not be delivered as standard SMS, target user will receive no visual notification about SMS being received  Description Payload ...

    Android-SMS302短信或者来电转发到Email

    【Android-SMS302短信或者来电转发到Email】是一个Android应用程序开发项目,其核心功能是将接收到的短信或电话记录自动转发到指定的电子邮件地址。这个项目对于那些需要实时监控或存档手机通信记录的用户非常有用,...

Global site tag (gtag.js) - Google Analytics