实验要求:实现拦截保存到手机中的号码

1.在main-activity布局文件中代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"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:background="@drawable/sdz"tools:context="cn.edu.bzu.interceptcall.MainActivity"><EditTextandroid:id="@+id/et_ipnumber"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入拦截号码"/><Buttonandroid:text="保存拦截号码"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="82dp"android:onClick="click"android:id="@+id/button" />
</RelativeLayout>

2.在MainActivity中编写点击保存拦截号码按钮时的事件处理,代码如下:

package cn.edu.bzu.interceptcall;import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private EditText et_ipnumber;private SharedPreferences sp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_ipnumber= (EditText) findViewById(R.id.et_ipnumber);//创建SharedPreferences对象sp=getSharedPreferences("config",MODE_PRIVATE);}public void click(View view){//获取用户输入的拦截号码String number=et_ipnumber.getText().toString().trim();//创建Editor对象,保存用户输入的拦截号码SharedPreferences.Editor editor=sp.edit();editor.putString("number",number);editor.commit();Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show();}
}

3.创建广播接收者OutcallReceiver,代码如下:

package cn.edu.bzu.interceptcall;import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;public class OutcallReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {//获取拨打的电话号码String outcallnumber=getResultData();//创建SharedPreferences对象,获取拦截号码SharedPreferences sp=context.getSharedPreferences("config",Context.MODE_PRIVATE);String number =sp.getString("number","");//判断是否是拦截号码if (outcallnumber.equals(number)){//清除电话setResultData(null);}}
}

4.注册广播接收者,在配置文件AndroidManifest中代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="cn.edu.bzu.interceptcall"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><receiverandroid:name=".OutcallReceiver"android:enabled="true"android:exported="true"><intent-filter><action android:name="android.intent.action.NEW_OUTGOING_CALL"/></intent-filter></receiver></application><uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"></uses-permission></manifest>

5.运行效果图:

Android中电话拦截器案例相关推荐

  1. android电话拦截软件下载,骚扰电话拦截器

    骚扰电话拦截器是一款支持自定义数据库的电话拦截软件,你可以自定义的在上面倒入各种骚扰电话的数据或者是API,这款软件会通过这些API来帮助你进行拦截,小巧的体积以及轻松的操作方式非常适合那些需要高颜D ...

  2. java day62【 响应数据和结果视图 、 SpringMVC 实现文件上传 、 SpringMVC 中的异常处理 、 SpringMVC 中的拦截器 】...

    第1章 响应数据和结果视图 1.1返回值分类 1.1.1 字符串 1.1.2 void 1.1.3 ModelAndView 1.2转发和重定向 1.2.1 forward 转发 1.2.2 Redi ...

  3. 四十七、Kafka中的拦截器(Interceptor)

    前两篇文章我们分别介绍了Kafka生产者和消费者的API,本文我们介绍一下Kafka中拦截器的知识.关注专栏<破茧成蝶--大数据篇>,查看更多相关的内容~ 目录 一.拦截器介绍 二.拦截器 ...

  4. SpringMVC中的拦截器

    SpringMVC中的拦截器 拦截器的作用 Spring MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理. 用户可以自己定义一些拦截器来实现 ...

  5. 框架:SpringMVC中Interceptor拦截器的两种实现

    Spring中使用Interceptor拦截器 SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证, ...

  6. vue面向切面_vue:在路由跳转中使用拦截器

    1:首先在路由对象中的某一个具体的路由对象加这样一个属性 meta: {  requireAuth:true  } 2:然后在main.js中添加这段代码 router.beforeEach((to, ...

  7. Springmvc中的拦截器interceptor及与过滤器filter的区别

    一.Springmvc中的拦截器概述及与过滤器filter的区别 1).Springmvc中的拦截器interceptor用于对控制器controller进行预处理和后处理的技术; 2).可以定义拦截 ...

  8. 聊聊AspectCore动态代理中的拦截器(一)

    前言 在上一篇文章使用AspectCore动态代理中,简单说明了AspectCore.DynamicProxy的使用方式,由于介绍的比较浅显,也有不少同学留言询问拦截器的配置,那么在这篇文章中,我们来 ...

  9. AspectCore动态代理中的拦截器详解(一)

    前言 在上一篇文章使用AspectCore动态代理中,简单说明了AspectCore.DynamicProxy的使用方式,由于介绍的比较浅显,也有不少同学留言询问拦截器的配置,那么在这篇文章中,我们来 ...

最新文章

  1. 前端安全之CSRF攻击
  2. 贝叶斯定理核心在后验概率是对先验概率的修正,即后验概率是描述来自先验概率的概率
  3. iOS 十六进制的颜色值转换为UIColor
  4. ubuntu16.04 安装微信和qq
  5. Flash 组件定义(AS3)
  6. 深入Java集合学习系列:HashMap的实现原理
  7. mysql云数据库 磁盘利用率_云数据库MySQL参数的那些事儿
  8. replace使用案例--替换空格
  9. Facebook史上最严重宕机,全网宕机近七小时,到底是怎么回事?
  10. java token身份认证_java – 基于Spring Security Token的身份验证
  11. python怎么读写文件-python3 excle(python怎么读写excel文件)
  12. 蓝牙学习笔记(八)——BLE 4.0 的128Bits/32Bist/16Bits的UUID
  13. 一分钟先生---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三十二)...
  14. xtu DP Training C.炮兵阵地
  15. 如何使用Fiddler进行弱网测试
  16. 算法的时间复杂度和空间复杂度-总结
  17. 计算机考研360能去哪里,计算机专业考研,有什么好的211院校推荐?
  18. matlab离群值算法_什么是离群值如何检测和删除它们对离群值敏感的算法
  19. java对接快递100追踪物流信息
  20. 目标既定 使命必达 | 麒麟信安举行营销中心2023年度工作计划部署会

热门文章

  1. android 应用层shell,如何让Android系统或Android应用执行shell脚本
  2. Python爬虫实战(三) 免登录爬取东野圭吾超话——看看你喜欢的书上榜没?
  3. 京东代挂搭建+xdd-plus机器人配置
  4. Win10 L2TP连接不上的解决办法
  5. Hadoop笔记(5)HA和联邦机制
  6. kylin启动时报错:failed to find metadata store by url kylin_metadata@hbase
  7. 数据库之mysql事务原理分析与锁机制 详解
  8. 洛谷P2713 罗马游戏
  9. 关于Unity3D打包成exe运行后资源无法成功加载的解决方法
  10. 腾讯起点学院:用户增长训练营