在Android平台上,短信发送是移动应用开发中常见的一项功能,特别是在构建通信或通知类应用时。这个【Android】短信发送的示例(Demo)旨在帮助开发者理解如何在Android应用程序中集成短信发送的功能。通过分析提供的链接(http://blog.csdn.net/etzmico/article/details/6874775)和解压后的Etzmico_SendSMS文件,我们可以深入探讨这一主题。 Android系统提供了`SmsManager`类,它是处理短信发送的核心组件。开发者可以通过这个类的静态方法来发送短信。例如,`SmsManager.getDefault()`可以获取默认的`SmsManager`实例,然后调用`sendTextMessage()`方法来发送文本短信。该方法需要四个参数:目标电话号码、短信内容、发送消息的回调(BroadcastReceiver)以及一个用于跟踪发送状态的PendingIntent。 发送短信的过程通常包括以下步骤: 1. **请求权限**:在AndroidManifest.xml中添加必要的权限声明,如`<uses-permission android:name="android.permission.SEND_SMS" />`,因为发送短信需要用户授权。 2. **创建BroadcastReceiver**:为了监听短信发送的状态,需要创建一个BroadcastReceiver。这个接收器会在短信发送成功、失败或者被用户取消时接收到相应的广播。 ```java public class SmsSendReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { switch (getResultCode()) { case Activity.RESULT_OK: // 短信发送成功 break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: // 通用错误 break; case SmsManager.RESULT_ERROR_NO_SERVICE: // 无服务 break; case SmsManager.RESULT_ERROR_NULL_PDU: // PDU为空 break; case SmsManager.RESULT_ERROR_RADIO_OFF: // 无线网络关闭 break; } } } ``` 3. **注册BroadcastReceiver**:在需要发送短信的地方,注册BroadcastReceiver并设置PendingIntent,这样当短信发送事件发生时,BroadcastReceiver会被触发。 ```java IntentFilter filter = new IntentFilter(SENT); BroadcastReceiver smsSentReceiver = new SmsSendReceiver(); registerReceiver(smsSentReceiver, filter); PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, sentPI, null); ``` 4. **定义ACTION**:定义BroadcastReceiver监听的ACTION,如`private static final String SENT = "SMS_SENT"`。 5. **取消注册BroadcastReceiver**:在不再需要监听短信状态时,记得取消注册,以避免内存泄漏。 ```java unregisterReceiver(smsSentReceiver); ``` 在Etzmico_SendSMS项目中,可能包含了实现这些功能的源代码,包括主Activity、BroadcastReceiver以及相关的布局文件。通过阅读和分析这些代码,开发者可以更好地理解和实践Android短信发送的整个过程。 需要注意的是,从Android 6.0(API级别23)开始,部分危险权限(如SEND_SMS)需要在运行时动态请求。因此,确保在发送短信之前检查权限,并在必要时引导用户进行权限授予操作。 Android的短信发送涉及到权限管理、BroadcastReceiver的使用以及`SmsManager`类的API调用。掌握这些知识点,开发者就能够实现在自己的应用中添加发送短信的功能。
- 1
- xj3592013-12-20简单明了,很是实用。不错。
- wsyangzuda2014-02-24包内,缺失很多东西
- 手机游戏2012-07-30符合标题叙述,不错
- 粉丝: 129
- 资源: 46
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助