在学接收短信和发送短信之前,先简单介绍一下 SMS 短消息服务。
SMS(Short Message Service,短信息服务)是一种存储和转发服务。也就是说,短信息并不是直接从发信人发送到接收人,而是始终通过 SMS 中心进行转发。如果接收人处于未连接状态(可能电话已关闭),那么信息将在接收人再次连接时发送。
要使 Android 应用程序能够接收短信息,需要以下三个步骤:
1)Android 应用程序必须具有接收 SMS 短信息的权限,在 AndroidManifest.xml 文件中配置如下:
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
2)Android 应用程序需要定义一个 BroadcastReceiver 的子类,并通过重载其 public void onReceive(Context arg0, Intent arg1) 方法来处理接收到短信息的事件。
3)在 AndroidManifest.xml 文件中对 BroadcastReceiver 子类的 <intent-filter> 属性进行配置,使其能够获取短信息接收 Action。配置如下:
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"
</intent-filter>
实例 receiveMessageDemo 演示了接收短信并提示的过程,运行效果如图 1 所示。