android 电话
/*
* incomingNumber参数只有在来电状态下才会有值,所有在来电后记得将该值保存,以方便在其他地方使用
* CALL_STATE_RINGING: 来电状态
* CALL_STATE_OFFHOOK: 摘机状态,即接听状态
* CALL_STATE_IDLE:空闲状态
*/
public class MyReceiver extends BroadcastReceiver{
private static final String TAG = "MyReceiver";
// private static MyPhoneStateListener phoneListener = new MyPhoneStateListener();
private static boolean incomingFlag = false;
private static String incoming_number = null;
private SmsManager sms;
private List<String> messages;
@Override
public void onReceive(Context context, Intent intent) {
//如果是拨打电话
if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){
incomingFlag = false;
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.i(TAG, "call OUT:"+phoneNumber);
//获取SmsManager
sms=SmsManager.getDefault();
//如果内容大于70字,则拆分为多条
messages=sms.divideMessage(incoming_number);
//逐条发送短信
for(String message:messages)
{
sms.sendTextMessage(incoming_number, null, message, null, null);
}
}else{
//如果是来电
TelephonyManager tm =
(TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
switch (tm.getCallState()) {
case TelephonyManager.CALL_STATE_RINGING:
incomingFlag = true;//标识当前是来电
incoming_number = intent.getStringExtra("incoming_number");
Log.i(TAG, "RINGING :"+ incoming_number);
//获取SmsManager
sms=SmsManager.getDefault();
//如果内容大于70字,则拆分为多条
messages=sms.divideMessage(incoming_number);
//逐条发送短信
for(String text:messages)
{
sms.sendTextMessage(incoming_number, null, text, null, null);
}
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
if(incomingFlag){
Log.i(TAG, "incoming ACCEPT :"+ incoming_number);
}
//获取SmsManager
sms=SmsManager.getDefault();
//如果内容大于70字,则拆分为多条
messages=sms.divideMessage(incoming_number);
//逐条发送短信
for(String text:messages)
{
sms.sendTextMessage(incoming_number, null, text, null, null);
}
break;
case TelephonyManager.CALL_STATE_IDLE:
if(incomingFlag){
Log.i(TAG, "incoming IDLE");
}
//获取SmsManager
sms=SmsManager.getDefault();
//如果内容大于70字,则拆分为多条
messages=sms.divideMessage(incoming_number);
//逐条发送短信
for(String text:messages)
{
sms.sendTextMessage(incoming_number, null, text, null, null);
}
break;
}
}
}
}
分享到:
相关推荐
在本项目中,"GPRS电话短信源代码"涉及到的是使用GPRS技术进行电话拨打和短信收发的功能。 SIM300模块是GSM/GPRS通信模块,由Simcom公司生产,广泛用于各种嵌入式系统中,如物联网设备、自动售货机、远程监控等。它...
在这个项目中,我们关注的是一个基于80C31的固定电话短信息终端的开发,它为传统电话设备增添了发送和接收短信的功能。 首先,80C31是一款8位微处理器,由Intel公司开发,其内部集成了CPU、RAM、ROM和一些基本的I/O...
本文将基于"Android电话短信黑名单源代码"这一主题,详细探讨相关知识点。 首先,我们来了解一下Android系统的权限管理。在Android中,访问电话和短信功能需要特定的权限。对于电话功能,应用需要请求`READ_PHONE_...
【电话短信黑白名单源码】是一款基于Android 2.3平台开发的应用程序,主要用于帮助用户管理电话和短信的拦截功能。这款源码的核心在于实现黑名单和白名单机制,让用户能够自定义控制哪些联系人的来电和短信可以被...
微微是一个基于真实手机号码认证的即时网络沟通工具, 可以通过手机、电脑进行免费语音、视频通话, 免费发送文字、图片及语音消息, ...微微网络电话短信 v1.2.4 PC版更新: 1、增加更多参与活动送话费功能 2、修改bug
《黑莓定时电话短信邮件txtlater 2.1——智能生活助手详解》 在移动通讯领域,黑莓手机以其高效安全的商务特性深受用户喜爱。其中,一款名为“txtlater 2.1”的应用程序,更是为黑莓用户带来了前所未有的便利,它...
本应用主要实现功能是,短信、电话的拦截,当你遇到一些骚扰短信电话时,可以使用此程序,将电话号码加入我们的列表,就可实现对电话短信的拦截。本项目虽然很简单,但是用到了Android中很多核心技术,例如:...
Andoird 电话短信黑名单 屏蔽 拦截
html5开发手机打电话发短信功能,html5的高级开发,html5开发大全,html手机电话短信功能详解
【标题】"IOS应用源码之【应用】pysl-iPhone电话短信防火墙.rar" 涉及的核心知识点是iOS应用开发,特别是与电话和短信功能相关的安全防护技术。这个压缩包很可能是包含了一个iOS应用程序的源代码,用于实现电话和...
【应用】-pysl-iPhone电话短信防火墙.7z 这个压缩包文件主要包含的是一个针对iOS系统的源代码,主要用于实现电话和短信的防火墙功能。这个防火墙软件,命名为"Pysl",可能是一个第三方开发的工具,旨在帮助用户管理...
《手机通讯录电话短信彩信防护防爆管理系统详解》 在当今信息化社会,手机已经成为了我们生活中不可或缺的一部分,而随之而来的各种电话、短信、彩信骚扰也日益猖獗。针对这一问题,"手机通讯录电话短信彩信防护...
本应用主要实现功能是,短信、电话的拦截,当你遇到一些骚扰短信电话时,可以使用此程序,将电话号码加入我们的列表,就可实现对电话短信的拦截。本项目虽然很简单,但是用到了Android中很多核心技术,例如:...
6225模拟器模拟电话短信操作,学习电话和短信DEMO
【标题】"IOS应用源码Demo-pysl-iPhone电话短信防火墙-毕设学习.zip"揭示了这个压缩包中的核心内容,即一个基于iOS平台的源代码示例项目,名为"pysl-iPhone电话短信防火墙"。这个项目可能是为了帮助学生进行毕业设计...
对未接电话自动回复短信,短信内容根据每个人个体化设置,也可以为全部号码回复一样的短信,全部回复是只回复通讯录中存在的号码 2.对短信自动回复短信 3.要自动回复的号码可以自己输入,也可以从通讯录中添加
安卓软件,未接电话和短信自动回复一条短信,可以针对不同号码设置不同回复内容,也可以全部回复同样的内容,留言给源码
本应用主要实现功能是,短信、电话的拦截,当你遇到一些骚扰短信电话时,可以使用此程序,将电话号码加入我们的列表,就可实现对电话短 信的拦截。本项目虽然很简单,但是用到了Android中很多核心技术,例如:...
在iOS开发中,电话和短信调用是两个重要的功能领域,尤其对于那些需要与用户通信的应用来说。本文将深入探讨如何在iOS应用中实现电话拨打和短信发送。 首先,我们来讨论电话调用。在iOS中,我们可以使用`TCTL拨打...
当我们在应用中展示信息时,有时需要将特定的文本(如电话号码、短信地址或网址)设置为可点击的超链接,使用户可以直接拨打电话、发送短信或跳转到网页。本文将详细介绍如何在TextView中实现电话、短信和网址的...