在上次的博客中已经实现了拨打电话的功能,但是在实际中使用短信的几率也是比较大的,好多手机卡短信都是包月的,像移动校园卡每个月可以发200条短信,超出之后才付钱。但这些日子已经一去不复返了,我也毕业了,我的那个破手机也是把人气死了。等攒了钱也弄个android的手机来用用。废话不多说了,下面就来实现一下这个功能。这里呢就要求用户输入手机号和信息,之后发送短信。

1.配置用于显示的文本

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="hello">Hello World, SendMessageActivity!</string><string name="app_name">短信发送器</string><string name="numberlabel">输入手机号码</string><string name="contentlabel">输入内容</string><string name="buttonlabel">发送短信</string><string name="success">短信发送成功</string><string name="failure">手机号或者信息不能为空</string>
</resources>

2.编写显示界面,代码如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><TextView android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="@string/numberlabel" /><EditText android:layout_width="fill_parent"android:layout_height="wrap_content" android:id="@+id/phonenum" /><TextView android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="@string/contentlabel" /><EditText android:layout_width="fill_parent"android:layout_height="wrap_content" android:minLines="3"android:id="@+id/content" /><Button android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="@string/buttonlabel"android:id="@+id/button" /></LinearLayout>

3.编写activity,这里要对内容做判断也就是说号码和信息不能为空

package org.lxh.activity;import java.util.*;import org.lxh.activity.R.string;import android.app.Activity;
import android.os.Bundle;import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;public class SendMessageActivity extends Activity {public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Button button=(Button)this.findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {EditText textphonenum=(EditText)findViewById(R.id.phonenum);EditText textcontent=(EditText)findViewById(R.id.content);String phonenum=textphonenum.getText().toString();  //取得手机号码String content=textcontent.getText().toString();if((phonenum==null||"".equals(phonenum))||(content==null||"".equals(content))){Toast.makeText(SendMessageActivity.this, R.string.failure, 1).show();  //显示一个Toast提示}else{SmsManager manage=SmsManager.getDefault();  //取得默认的SmsManager用于短信的发送List<String> all=manage.divideMessage(content);  //短信的内容是有限的,要根据短信长度截取。逐条发送Iterator<String> it=all.iterator();while(it.hasNext()){manage.sendTextMessage(phonenum, null, it.next(), null, null);  //逐条发送短息}Toast.makeText(SendMessageActivity.this, R.string.success, Toast.LENGTH_LONG).show();}}});}
}

4.取得发送短信的许可

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="org.lxh.activity"android:versionCode="1"android:versionName="1.0"><application android:icon="@drawable/icon" android:label="@string/app_name"><activity android:name=".SendMessageActivity"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="7" /><uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
</manifest> 

5.测试结果

如果有写错的地方就丢板砖吧,也可以写留言给我

android实现发送短信的功能相关推荐

  1. 使用Android studio实现打电话和发送短信的功能

    知识点 1:安卓6.0以上的版本如何获取拨打电话和发送短信的"权限" 2.如何进入手机通讯录并返回联系号码 3.如何实现发送短信的功能 //实现拨打电话功能的Activity pa ...

  2. java短信验证码功能发送的验证码如何校验_java 实现发送短信验证码功能

    原标题:java 实现发送短信验证码功能 如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenz ...

  3. java短信验证码功能发送的验证码如何校验_Java实现发送短信验证码功能

    一个发送短信验证码的功能,使用的是信易通的短信平台接口,然后在Java中使用HttpClient模拟POST请求或者GET请求(看短信平台要求,一般的情况下都是POST请求),调用短信平台提供的接口( ...

  4. android 实现发送短信功能以及解决权限问题

    1.创建项目,新建Activity 2.sendSmsActivity.java package com.otis.ui;import androidx.appcompat.app.AppCompat ...

  5. android之发送短信的方法研究

    android中可以通过两种方式发送短信 第一:调起系统发短信功能:主要代码如下: Uri uri = Uri.parse("smsto:10010"); Intent it = ...

  6. Android - 批量发送短信的实现方式

    做了一个简单的批量发短信小工具.功能:从 sdcard 中读取发送短信的手机列表,每行一个手机号(存在/sdcard/ADAGroupSMS/PhoneNum.txt),批量发送短信.适用于广告推广. ...

  7. [Android]手机短信验证功能

    介绍 短信验证功能大家都很熟悉了.在很多地方都能见到,注册新用户或者短息验证支付等.短信验证利用短信验证码来注册会员,大大降低了非法注册,很大程度上提高了用户账户的安全性. 目前市面上已经有了很多提供 ...

  8. Android之发送短信的两种方式

    SMS涉及的主要类SmsManager 实现SMS主要用到SmsManager类,该类继承自java.lang.Object类,下面我们介绍一下该类的主要成员. 公有方法: ArrayList< ...

  9. android后台发送短信的实现

    我们学过一种发送手机短信的方法,就是通过intent跳转到系统自带的短信发送界面,接着让用户点send 今天的话我们学习一种偷偷发短信的功能,因为最近接受了一个外包任务,就是开发一个app然后预装在手 ...

最新文章

  1. AXI-IIC官方示例解析
  2. 免输入用户名和密码以及git clone以后想提交代码
  3. C#LeetCode刷题之#110-平衡二叉树(Balanced Binary Tree)
  4. swap函数_C++ vector成员函数实现[持续更新]
  5. 通过代码实例来说明spark api mapPartitions和mapPartitionsWithIndex的使用
  6. 修改jceks.key.serialFilter解决KMS重启后Can‘t recover key for testkey from keystore file
  7. 取余运算怎么算_3 数学运算 矩阵操作
  8. android屏蔽电话号码,手机屏蔽骚扰电话的方法【推荐方法】
  9. Struts2 验证码图片实例
  10. 【C++】 【判定质数】 【分解质因数】【筛质数(编制质数表)】
  11. 金蝶k3系统中间服务器不可用,【金蝶软件】客户端登陆时提示远程服务器不存在或不可用(金蝶K3系统)...
  12. 如何写SCI论文的摘要
  13. 移动端事件touchstart、touchmove、touchend详解
  14. 如何清除远程桌面连接记录
  15. ps界面为啥突然变大了_PS修图教程,如何把把照片变得更有质感
  16. 有道换域名,目标中立、客观、包容
  17. 没有进出口权,怎样接收外汇?
  18. 一些 差分线的 线距 和 线宽
  19. ubuntu idea 卸载
  20. dac0832三角波c语言程序,单片机控制DAC0832输出正弦波三角波汇编程序

热门文章

  1. 大学生笔记本选Mac还是Windows?
  2. 华为机试C语言-最远足迹
  3. 荣耀v40和华为nova8参数对比哪个好 华为nova8和荣耀v40的区别
  4. java 用PDFBox 删除 PDF文件中的一页 ,空白页啥的,此处删除最后一页为例 spring boot
  5. 我在首席数据官年会上的演讲实录
  6. 学会Redis缓存中间件,这一篇就够了
  7. Pytorch 结合Sobel滤波的卷积操作来提取图像的轮廓图!
  8. 现代的linux和windows7,Windows 7 Vs. Linux谁更强
  9. word2vec理解及pytorch实现
  10. PHP接入微信官方支付(native·APIv3)