发送短信:

首先在清单文件上, 加上发送短信的权限

  <uses-permission android:name="android.permission.SEND_SMS"/>

发送短信的核心代码

    public void sendMessageClick(View view){//获取短信管理器SmsManager smsManager = SmsManager.getDefault();String message = "3";//将短信拆分ArrayList<String> list = smsManager.divideMessage(message);for (int i = 0; i < list.size(); i++) {smsManager.sendTextMessage("10086", null, list.get(i), null, null);}Toast.makeText(MainActivity.this, "发送成功", Toast.LENGTH_SHORT).show();}

接收短信

对于接收短信, 我有点苦恼, 因为我想让我收到的信息可以在Activity中显示, 后来想到了个法子, 可以使用观察设计模式, 还不是很懂的哥们可以去我的另个一个博客中查看http://blog.csdn.net/u013144863/article/details/51489025

SMSReceiver.java

package com.lulu.lsms;import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;public class SMSReceiver extends BroadcastReceiver {private IBinderSMSReciver iBinderSMSReciver;public SMSReceiver() {}@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("来短信了...");Bundle bundle = intent.getExtras();if (bundle != null) {Object[] objs = (Object[]) bundle.get("pdus");SmsMessage[] smsMessages = new SmsMessage[objs.length];StringBuffer sb = new StringBuffer();String content = null;for (int i = 0; i < objs.length; i++) {smsMessages[i] = SmsMessage.createFromPdu((byte[])objs[i]);//获取发送的号码String number = smsMessages[i].getDisplayOriginatingAddress();//获取发送内容content = smsMessages[i].getDisplayMessageBody();sb.append(content);}System.out.println(sb.toString());iBinderSMSReciver.setUI(sb.toString());}}//观察者设计模式interface IBinderSMSReciver{public void setUI(String content);}//做个监听器public void setIBinderSMSReciverListene(IBinderSMSReciver iBinderSMSReciver){this.iBinderSMSReciver = iBinderSMSReciver;}}

别忘了清单文件, 加上下面几句

    <uses-permission android:name="android.permission.RECEIVE_SMS" /><receiver
            android:name=".SMSReceiver"android:enabled="true"android:exported="true"></receiver>

xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:orientation="vertical"tools:context="com.lulu.lsms.MainActivity"><TextView
        android:id="@+id/tv_sms_content"android:text="短信内容"android:textSize="20sp"android:layout_width="match_parent"android:layout_height="wrap_content" /></LinearLayout>

MainActivity.java文件

package com.lulu.lsms;import android.content.IntentFilter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;import java.util.ArrayList;public class MainActivity extends AppCompatActivity implements SMSReceiver.IBinderSMSReciver{public TextView tv_sms_content;private SMSReceiver smsReceiver;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_sms_content = (TextView) findViewById(R.id.tv_sms_content);smsReceiver = new SMSReceiver();IntentFilter intentFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");registerReceiver(smsReceiver, intentFilter);smsReceiver.setIBinderSMSReciverListene(this);}@Overridepublic void setUI(String content) {if(content != null){tv_sms_content.setText(content);}}
}

对于接收短信, 鄙人之前使用的小米手机, 由于小米手机的”良心品牌” , 使得广播接收器接收不到..后来换成了其他手机的品牌做了测试是可以的!!!

Android收发短信相关推荐

  1. Android 接收和收发短信

    收发短信应该是每个手机最基本的功能之一了,即使是许多年前的老手机也都会具备这项功能,而Android作为出色的智能手机操作系统,自然也少不了在这方面的支持.每个Android手机都会内置一个短信应用程 ...

  2. Android开发:如何实现收发短信

    1.收发短信代码如下: public class MsmUtils extends BroadcastReceiver {/*** 发送 MSM* @param activity* @param ta ...

  3. Android学习——收发短信

    Android学习--收发短信 1.短信基本API介绍 使用Android API类库可以自己实现收发短信的功能: 信息的发送,对mms应用程序来讲主要是在信息数据库中创建并维护一条信息记录,真正的发 ...

  4. android接听ios电话,教程】教你用电脑连接 iPhone 、 Android ,在电脑上接打电话、收发短信。...

    原标题:教程]教你用电脑连接 iPhone . Android ,在电脑上接打电话.收发短信. 你有「手机依赖症」吗?相信大家对自己的手机都是机不离手,眼不离机吧~那么在办公或者学习的时间里,怎么不接 ...

  5. 用电脑发短信_重磅!一个软件实现电脑上接打手机电话、收发短信、传文件、屏幕镜像!...

    点击箭头处"蓝色字",关注我们哦!! Dell Mobile Connect 本身是一款专门为 Dell 指定设备提供的专门为计算机与 iOS 或者 Android 智能手机之间进 ...

  6. Android接收短信和发送短信

    一.布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...

  7. Android版短信 筛选/批量删除 程序(支持Android 2.3~4.4)

    这是一个短信筛选/批量删除的工具类程序. 首先上图: 1.展示全部系统短信. 2.新建筛选器(支持按号码筛选和按内容筛选) 3.筛选,批量删除. 主要代码: 1.获取系统全部短信 [java] vie ...

  8. Android:短信 筛选/批量删除 程序(支持Android 2.3~4.4)

    这是一个短信筛选/批量删除的工具类程序. 首先上图: 1.展示全部系统短信. 2.新建筛选器(支持按号码筛选和按内容筛选) 3.筛选,批量删除. 主要代码: 1.获取系统全部短信 //获取系统全部短信 ...

  9. Android 群发短信的实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. SmsManager是Android提供的一个服务,SmsManager提供了一系列sendXxxMessage()方法用于发送短信,不过短信通常 ...

最新文章

  1. 学习linux要会mysql吗_linux 学习 mysql安装到连接
  2. 华为云计算FusionCompute环境部署实验之使用批量部署工具安装
  3. 独家 | 滴滴的无人车野心
  4. RPC框架的实现原理是什么?-开课吧
  5. 尼尔森十大可用性原则
  6. 使用MacClean在Mac上释放磁盘空间的教程
  7. 基于snowflake的序列号生成器
  8. 如何使用数据库保存文件
  9. 毕业设计 大学生心理健康管理平台
  10. JAVA:实现求Median中位数算法(附完整源码)
  11. win7笔记本电脑做wifi热点
  12. 根据NSDate得到农历的年份(包括生肖) 、月、日。
  13. PCL点云处理之三维向量夹角计算(四十九)
  14. 华为鸿蒙系统怎么退出,鸿蒙系统准备就绪,华为将退出安卓联盟,进度能赶超安卓吗?...
  15. re模块(正则表达式)
  16. itunes更新系统显示网络连接到服务器,iTunes网络连接被重设怎么办
  17. python自动发邮件报554错误_python3 使用smtplib发送邮件错误554
  18. UI设计规范技巧——切图格式
  19. Linux 创建文件夹快捷方式 In -s
  20. 女人和男人之间的经典对白!

热门文章

  1. 12306官方APP,高逼格的设计,分分钟钟逼死设计师
  2. 词向量 其实就是 语义映射矩阵
  3. 数据结构与算法题目集(中文) - 7-32 哥尼斯堡的“七桥问题”(25 分)
  4. IPO开闸 刺激资金流向创投
  5. VMware16安装Ubuntu22.04.1详细教程
  6. MPP(大规模并行处理)详解
  7. 2018年中级职称计算机考试成绩,2018年中级会计职称全部采用无纸化考试方式 计算机作答!...
  8. 【idea创建doc文件和报错的解决方法】
  9. Linux圈子里的“鲁大师“dmidecode-尚文网络xUP楠哥
  10. 中国牙科填料市场调研及投资前景方向预测报告2022-2028年