一.电话拦截器应用说明 在我们输入完电话号码并拨打电话时,系统会发出一个有序广播(action="android.intent.action.NEW_OUTGOING_CALL"),并且预计会发送给电话拨号器应用的广播接收者,但是我们可以设置一个优先级更高的拦截器广播接收者(android:priority="1000"),使得在拨号器的广播接收者收到电话之前将电话清空,如图所示: 由于此应用应该比较隐蔽,因此需要开机自启动,当开机自启动时,系统会发出一个广播,激活…
其实,在什么是广播的第一句就已经说明了广播有什么用了.对了,笼统一点讲就是用来传输数据的.具体一点说就是:1. 实现了不同的程序之间的数据传输与共享,因为只要是和发送广播的action相同的接受者都能接受这个广播.          典型的应用就是android自带的短信,电话等等广播,只要我们实现了他们的action的广播,那么我们就能接收他们的数据了,          以便做出一些处理.比如说拦截系统短信,拦截骚扰电话等等2.起到了一个通知的作用,比如在service中要通知主程序,更新主…
1.短信拦截 首先需要声明的是,Android4.4版本以上,如果想做到短信拦截,必须成为default sms,把所有短信相关的功能都包揽了,然后再做短信拦截.但这种做法,适配性和兼容性的工作是非常巨大的,短信.wapush(多种).彩信.单双卡等等,相当于要求短信拦截类的软件要集成一个功能非常完善的通讯录类应用的功能.但是即使拦截不到短信,同样是可以接收到短信的内容.4.4版本以前没有问题. 短信广播接收者就不用多说了,代码如下所示,业务逻辑一般通过数据库查询实现,通过继承SQLiteOpe…
BroadcastReceiver 介绍: 广播是一种广泛运用的在应用程序之间传输信息的机制 .而 BroadcastReceiver 是对发送出来的广播 进行过滤接收并响应的一类组件 接受一种或者多种 Intent 作为触发事件,接受相关消息转换成一条 Notification(通告) ,统一了Android的事件广播模型 你的应用可以使用它对外部事件进行过滤,只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应. 广播接收器没有用户界面.然而,它们可以启动一个acti…
(1)定义一个类继承BroadCastReceiver public class OutGoingCallReceiver extends BroadcastReceiver { //当接收到外拨电话的事件的时候回执行这个方法 @Override public void onReceive(Context context, Intent intent) { //[0]获取到我们保存的ip号码 SharedPreferences sp = context.getSharedPreferences(…
1.Main.axml文件: <?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视频教程) 1. android工程 各个文件夹的作用 src/  java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动生成的文件.目录中最重要的就是R.java文件. 这个文件由Android开发工具自动产生的.Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件.正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java.R.java在应用中起到了字典的作用,…
前言 此篇博客只讲解okhttp的拦截器功能的详细使用,如果你还不太了解okhttp可以参考我另外一篇博客 Android 开发 框架系列 OkHttp使用详解 添加Interceptor的简单例子 在 Android 开发 框架系列 OkHttp使用详解 可以了解到okhttp的基本使用,初始化OkHttpClient的时候我们可以添加拦截器,如下: // 配置一些信息进入OkHttpClient mOkHttpClient = new OkHttpClient().newBuilder()…
实现步骤: 1.画UI 可以用拖拽和文本编辑. 2.根据UI写业务逻辑  在MainActivity中的onCreate中编写 //get editText content et_number = (EditText)findViewById(R.id.editText1); //find zhe Button Button btn_call = (Button)findViewById(R.id.button); 3.给按钮设置一个点击事件  内部类 btn_call.setOnClickLi…
一.广播接收者类型: 广播被分为两种不同的类型:“普通广播(Normal broadcasts)”和“有序广播(Ordered broadcasts)”. 普通广播是完全异步的,可以在同一时刻(逻辑上)被所有接收者接收到,消息传递的效率比较高,但缺点是:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播: 然而有序广播是按照接收者声明的优先级别(声明在intent-filter元素的android:priority属性中,数越大优先级别越高,取值范围:-1000到1000…
首先我们示例工程一览表如下: 1.首先我们还是买一个收音机,定义一个OutCallReceiver继承自BroadcastReceiver,onReceive()方法中定义了监听到广播,要执行的操作: public class OutCallReceiver extends BroadcastReceiver {           @Override          public void onReceive(Context context, Intent intent) {       …
没睡着觉,起来更篇文章吧哈哈!首先祝贺李宗伟击败我丹,虽然我是支持我丹的,但是他也不容易哈哈,值得尊敬的人!切入正题:这一篇来介绍个自定义广播接收者. 通常我们在外拨电话的时候,一般为使用网络电话.如果电话号码是某种类型的电话,会自动在前面加上ip号.从而节省费用.今天这一篇就模拟ip拨号.这个功能,是通过广播接收者来实现的.自定义广播接收者,"监听"外拨电话时候系统发出的广播(系统对我们注册的广播大喊:"亲爱的,我来了!"),收到信息后,给外拨电话前缀价格ip号码…
1. 外拨电话的广播接收者: 首先我们示例工程一览表如下: (2)首先我们还是买一个收音机,定义一个OutCallReceiver继承自BroadcastReceiver,onReceive()方法中定义了监听到广播,要执行的操作: public class OutCallReceiver extends BroadcastReceiver {           @Override          public void onReceive(Context context, Intent i…
现实中:电台要发布消息,通过广播把消息广播出去,使用收音机,就可以收听广播,得知这条消息.Android中:系统在运行过程中,会产生许多事件,那么某些事件产生时,比如:电量改变.收发短信.拨打电话.屏幕解锁.开机,系统会发送广播. 只要应用程序接收到这条广播,就知道系统发生了相应的事件,从而执行相应的代码.使用广播接收者,就可以收听广播. 系统中任何应用只要注册了对应了Receiver,就会接收到此Broadcast. ###创建广播接收者1. 定义java类继承BroadcastReceive…
下面通过短信拦截器来介绍短信中的广播 布局文件 在布局文件中可以设置需要拦截的号码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width=…
1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM 的比较 3.常见adb指令 platform-tools/adb.exe adb.exe : android debug bridge android调试桥 adb devices:列出所以连接的设备 adb kill-server :杀死adb调试桥 adb start-server :启动adb…
下面我们先看一部分代码,由代码进行进一步的深入: registerReceiver( new BroadcastReceiver() {//onReceive中代码的执行时间不要超过5s,android会弹出超时dialog public void onReceive(Context paramContext, Intent paramIntent)//context :用来获得应用程序信息;Intent:负责所有Activity窗口通讯 {//ScanResult这个类是用来描述接入网络的信息…
Android提供的系统服务之--TelephonyManager(电话管理器) 转载请注明出处--coder-pig TelephonyManager的作用: 用于管理手机通话状态,获取电话信息(设备信息.sim卡信息以及网络信息), 侦听电话状态(呼叫状态服务状态.信号强度状态等)以及能够调用电话拨号器拨打电话! 怎样获得TelephonyManager的服务对象: TelephonyManager tManager = (TelephonyManager)getSystemService(…
MainActivity: package com.wyl.bctest; import android.support.v7.app.ActionBarActivity; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; i…
1.继承广播接收者类 package com.example.ipdail; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; public class OutCallReceiver extends BroadcastReceiver { @Overri…
Android有四大组件,分别为:Activity(活动).Service(服务).Content Provider(内容提供器).Broadcast Receiver(广播接收者). 引入广播的目的是便于接收和发送系统级(而不只是应用内部)的通知,使得Android的任意一个应用可以接收来自于系统和其他应用的消息.其机制类似于设计模式中的观察者模式(或发布-订阅模式). 广播的Android官方文档:Broadcasts 全局广播 因为下面还会介绍一种本地广播,因此将这部分称为全局广播."全局…
一.问题描述 使用BordercastReceiver和Service组件实现下述功能: 1.当手机处于来电状态,启动监听服务,对来电进行监听录音. 2.设置电话黑名单,当来电是黑名单电话,则直接挂断. 当拨打电话或电话状态发生改变时,系统就会发出有序广播,因此我们可以使用BordercastReceiver接受广播,因BordercastReceiver执行时间短不能执行耗时任务也不能使用子线程,因此我们应启动一个Service来监听电话并进行处理 二.加入AIDL文件 Android没有对外…
引言 应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激活状态:对于活动,对用户有时候可见,有时候不可见.组件生命周期将讨论活动.服务.广播接收者的生命周期——包括在生命周期中他们可能的状态.通知状态改变的方法.及这些状态的组件寄宿的进程被终结和实例被销毁的可能性. 上篇Android开发之旅:组件生命周期(一)讲解了论活动的生命周期及他们可能的状态.通知状态改变的方法.本篇将介绍服务和广播接收者的生命周期:…
1. 下面我们先看一部分代码,由代码进行进一步的深入: registerReceiver( new BroadcastReceiver() {//onReceive中代码的执行时间不要超过5s,android会弹出超时dialog public void onReceive(Context paramContext, Intent paramIntent)//context :用来获得应用程序信息;Intent:负责所有Activity窗口通讯 { //ScanResult这个类是用来描述接入网…
继续今天的Android,经过昨天大体了解了Android开发的一些基本文件结构,今天来做一个电话拨号器! 预期达到的效果 实现过程 首先还是按照昨天第一篇教程,新建一个项目叫PhoneCall的Android的应用 这里采用的是LinearLayout是线性布局控件,LinearLayout详细介绍 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientati…
今天介绍一下Android的电话管理器--TelephonyManager,TelephonyManager管理手机通话状态.电话网络信息的服务类,获取TelephonyManager: TelephonyManager tManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 下面直接上个实例: public class TelephonyStatus extends Activity { ListVi…
在android入门的案例中,除了HelloWorld这个经典案例,还有一个电话拨号器需要掌握,现在我就来个电话拨号器的示范,毕竟大牛也是从菜鸟进化而来的. 首先你应该知道自己要设置怎样的UI,然后创建android项目,然后在写可扩展标记语言XML,我们需要记住XML的标签是成对出现的,写完之后的代码如下   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:to…
相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 1. 理解需求: *一个文本框--用来接收电话号码 *一个button--用来触发事件 2. 设计UI 3. 代码实现 public class MainActivity extends Activity { private EditText et_number; //定义变量用来接收电话号码 p…
二.BroadcastReciver(广播接收者) 1.简述 BroadcastReciver位于android.content包下,主要用于对广播消息(Intent)的过滤并响应的控件.可以理解为全局的监听器.BroadcastReceiver 自身并不实现图形用户界面,但是当它收到某个广播消息后,BroadcastReceiver可以启动Activity作为响应,或者启动Service服务等等. 2.运行原理 当其他应用程序发出广播消息之后,所有注册了BroadcastReciver的应用程…