`
xihuan&java
  • 浏览: 161673 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

电话短信

阅读更多
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电话短信源代码"涉及到的是使用GPRS技术进行电话拨打和短信收发的功能。 SIM300模块是GSM/GPRS通信模块,由Simcom公司生产,广泛用于各种嵌入式系统中,如物联网设备、自动售货机、远程监控等。它...

    基于51固定电话短信息终端的开发.rar_80c31_固定电话_电话_短信

    在这个项目中,我们关注的是一个基于80C31的固定电话短信息终端的开发,它为传统电话设备增添了发送和接收短信的功能。 首先,80C31是一款8位微处理器,由Intel公司开发,其内部集成了CPU、RAM、ROM和一些基本的I/O...

    Android电话短信黑名单源代码

    本文将基于"Android电话短信黑名单源代码"这一主题,详细探讨相关知识点。 首先,我们来了解一下Android系统的权限管理。在Android中,访问电话和短信功能需要特定的权限。对于电话功能,应用需要请求`READ_PHONE_...

    电话短信黑白名单源码

    【电话短信黑白名单源码】是一款基于Android 2.3平台开发的应用程序,主要用于帮助用户管理电话和短信的拦截功能。这款源码的核心在于实现黑名单和白名单机制,让用户能够自定义控制哪些联系人的来电和短信可以被...

    微微网络电话短信 v1.2.4 PC版.zip

    微微是一个基于真实手机号码认证的即时网络沟通工具, 可以通过手机、电脑进行免费语音、视频通话, 免费发送文字、图片及语音消息, ...微微网络电话短信 v1.2.4 PC版更新: 1、增加更多参与活动送话费功能 2、修改bug

    黑莓定时电话短信邮件txtlater 2.1

    《黑莓定时电话短信邮件txtlater 2.1——智能生活助手详解》 在移动通讯领域,黑莓手机以其高效安全的商务特性深受用户喜爱。其中,一款名为“txtlater 2.1”的应用程序,更是为黑莓用户带来了前所未有的便利,它...

    老师写的电话短信拦截源码

    本应用主要实现功能是,短信、电话的拦截,当你遇到一些骚扰短信电话时,可以使用此程序,将电话号码加入我们的列表,就可实现对电话短信的拦截。本项目虽然很简单,但是用到了Android中很多核心技术,例如:...

    Android电话短信黑名单

    Andoird 电话短信黑名单 屏蔽 拦截

    html5开发手机打电话发短信功能,html5的高级开发,html5开发大全,html手机电话短信功能详解

    html5开发手机打电话发短信功能,html5的高级开发,html5开发大全,html手机电话短信功能详解

    IOS应用源码之【应用】pysl-iPhone电话短信防火墙.rar

    【标题】"IOS应用源码之【应用】pysl-iPhone电话短信防火墙.rar" 涉及的核心知识点是iOS应用开发,特别是与电话和短信功能相关的安全防护技术。这个压缩包很可能是包含了一个iOS应用程序的源代码,用于实现电话和...

    【应用】-pysl-iPhone电话短信防火墙.7z

    【应用】-pysl-iPhone电话短信防火墙.7z 这个压缩包文件主要包含的是一个针对iOS系统的源代码,主要用于实现电话和短信的防火墙功能。这个防火墙软件,命名为"Pysl",可能是一个第三方开发的工具,旨在帮助用户管理...

    手机通讯录电话短信彩信防护防爆管理系统

    《手机通讯录电话短信彩信防护防爆管理系统详解》 在当今信息化社会,手机已经成为了我们生活中不可或缺的一部分,而随之而来的各种电话、短信、彩信骚扰也日益猖獗。针对这一问题,"手机通讯录电话短信彩信防护...

    自己电话短信拦截源码

    本应用主要实现功能是,短信、电话的拦截,当你遇到一些骚扰短信电话时,可以使用此程序,将电话号码加入我们的列表,就可实现对电话短信的拦截。本项目虽然很简单,但是用到了Android中很多核心技术,例如:...

    6225模拟器模拟电话短信操作

    6225模拟器模拟电话短信操作,学习电话和短信DEMO

    IOS应用源码Demo-pysl-iPhone电话短信防火墙-毕设学习.zip

    【标题】"IOS应用源码Demo-pysl-iPhone电话短信防火墙-毕设学习.zip"揭示了这个压缩包中的核心内容,即一个基于iOS平台的源代码示例项目,名为"pysl-iPhone电话短信防火墙"。这个项目可能是为了帮助学生进行毕业设计...

    自动回复 电话 短信

    对未接电话自动回复短信,短信内容根据每个人个体化设置,也可以为全部号码回复一样的短信,全部回复是只回复通讯录中存在的号码 2.对短信自动回复短信 3.要自动回复的号码可以自己输入,也可以从通讯录中添加

    电话 短信 自动回复

    安卓软件,未接电话和短信自动回复一条短信,可以针对不同号码设置不同回复内容,也可以全部回复同样的内容,留言给源码

    电话短信拦截

    本应用主要实现功能是,短信、电话的拦截,当你遇到一些骚扰短信电话时,可以使用此程序,将电话号码加入我们的列表,就可实现对电话短 信的拦截。本项目虽然很简单,但是用到了Android中很多核心技术,例如:...

    iOS 电话 短信调用

    在iOS开发中,电话和短信调用是两个重要的功能领域,尤其对于那些需要与用户通信的应用来说。本文将深入探讨如何在iOS应用中实现电话拨打和短信发送。 首先,我们来讨论电话调用。在iOS中,我们可以使用`TCTL拨打...

    TextView超简单实现电话短信网址超链接实例

    当我们在应用中展示信息时,有时需要将特定的文本(如电话号码、短信地址或网址)设置为可点击的超链接,使用户可以直接拨打电话、发送短信或跳转到网页。本文将详细介绍如何在TextView中实现电话、短信和网址的...

Global site tag (gtag.js) - Google Analytics