Android实例-手机安全卫士(三十七)-显示去电号码的归属地

一、 目标

   利用BroadcastReceive获取去电广播,并获取去电号码,再查询数据库获取归属信息;

二、代码实现:

  1、在广播包(receiver)下新建一个类(取名OutCallReceiver)继承BroadcastReceive;

  2、在清单文件中注册,意图过滤器(inter-filter)中监听的动作为去电(NEW_OUTGOING_CALL)

广播接受者注册代码:

1 <receiver android:name="com.example.mobilesafe.receiver.OutCallReceiver">
2             <intent-filter >
3                 <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
4             </intent-filter>
5         </receiver>

  3、增加监听去电的权限(PROCESS_OUTGOING_CALLS)

  4、在1中新建的类(OutCallReceiver)中,通过getResultData()方法获取String类型的去电号码(取名outCallNumb);

  5、通过自定义的号码归属地查询工具类(NumberAddQueryUtils)中的查询方法queryNumber(String number)将4中获取的号码传入,返回String类型的归属地信息,最后通过Toast显示出来即可

新建类(OutCallReceiver)代码:

 1 public class OutCallReceiver extends BroadcastReceiver {
 2
 3     @Override
 4     public void onReceive(Context context, Intent intent) {
 5         //获取去电号码
 6         String outCallNumb = getResultData();
 7         //查询数据库
 8         String outCallAdd = NumberAddQueryUtils.queryNumber(outCallNumb);
 9         Toast.makeText(context, outCallAdd, 1).show();
10     }
11 }

时间: 2024-10-24 08:40:31

Android实例-手机安全卫士(三十七)-显示去电号码的归属地的相关文章

Android实例-手机安全卫士(十七)-自定义按钮背景样式

一.目标. 按钮(button)默认.按下.获取焦点等状态下,其背景均显示自定的图片.            二.代码实现. 1.在res文件夹下新建drawable文件夹,在新建的drawable文件夹下新建一个文件(右键-new-file),取名button.xml. 2.在新建的文件(button.xml)中 ①.指定xml版本为1.0,编码格式为utf-8(即第一行为:<?xml version="1.0" encoding="utf-8"?>)

Android实例-手机安全卫士(三)-设计主页面UI

一.目标. 主界面UI如图所示: 方面是一个功能列表提示框(采用TextView),下面是功能列表(采用GridView). 二.代码实现. 1.在主界面布局文件(activity_home.xml)中增加组件.主界面布局文件(activity_home.xml)采用线性布局,上面一个TextView,根据UI设置相应属性:下面一个是GridView,通过android:numColumns属性设置该组件的列数,由于GridView还需要inflate单个布局文件,所以为其设置id. 主界面布局

Android实例-手机安全卫士(十八)-完成设置向导的4个UI和跳转事件

一.目标. 制作向导设置里面每一步的UI布局及点击事件控制. 1.使用自定义button背景.自定义组合控件.自定义文本样式等. 2.利用SharedPreferences对象,设置应用程序配置信息(向导设置完成后就不再进入)           二.代码实现. 1.在程序包下新建另外3个UI的类(分别为SetupWizard_ui_2.java.SetupWizard_ui_3.java.SetupWizard_ui_4.java),并在配置文件中注册Activity. 2.根据UI设计,在设

Android实例-手机安全卫士(三十九)-自定义吐司(文本格式、显示窗口)

一.目标 自定义显示的吐司,包括内容文本格式.显示窗口格式. 二.代码实现 1.在“显示号码归属地”服务类(ShowPhoneAddService)中自定义吐司方法(取名myToast(String sting)),参数string为需要显示的字符串(注:本例中只需要使用自定义的吐司来显示号码归属地,其他地方不使用,因此在类中创建方法).在自定义方法中(myToast): (1)通过new TextView(Context context)方法定义一个TextView对象(取名view),参数c

Android实例-手机安全卫士(二十七)—读取联系人号码

一.目标 1.将“二十六”介绍的读取联系人的方法移植到项目中: 2.选取读取到的联系人条目,将其号码自动填入文本框中(通过Intent方式在Activity之间传递数据). 二.代码实现. 1.将读取联系人方法移植到项目中. ①.在主程序包(mobilesafe)下新建选择联系人类(SelectContactActivity),并在布局文件夹中(layout)新建”选择联系人“的布局文件(activity_select_contact.xml).布局文件各联系人信息采用ListView组件显示.

Android实例-手机安全卫士(三十一)-根据指令完成相应操作二(锁屏和数据清除)

一.目标 1.实现远程锁屏和数据销毁操作: 2.初步制作“一键锁屏”应用和优化. 二.代码实现 1.在Receiver包下新建一个类(取名LockScreenReceiver)继承DeviceAdminReceiver类(是BroadcastReceiver类的一个子类),并在清单配置文件配置receiver标签 (1)在receiver标签中,增加name.permission属性,name为新建类(LockScreenReceiver)的全路径名称,permission为必须的BIND_DE

Android实例-手机安全卫士(三十)-根据指令完成相应操作一(报警音乐和GPS追踪)

一.目标 根据安全号码发送的指令完成相应的操作.                      二.代码实现 1.完成播放报警音乐操作 ①.在res文件夹下新建名为raw文件夹,并将音频文件拷贝至该文件夹下: ②.在播放报警音乐命令代码处(即SMSReceiver类中的else if("#*alarm*#".equals(body))里面),通过MediaPlayer对象的create(Context context(上下文), int resid(资源文件id))方法创建一个MediaP

Android实例-手机安全卫士(三十三)-将数据库导入程序中

一.目标 1. 在项目中引入SQLiteDatabase数据库,通过输入输出流将数据库复制至指定path目录下: 2.通过SQLiteDatabase的openDatabase()使用数据库,通过 rawQuery()方法执行SQL语句: 3.初步实现号码归属地查询功能. 数据库结构: data1:  data2: 数据库在项目中:     查询结果: 二.代码实现 1.将电话归属地数据库(名称address.db)拷贝至项目的assets文件夹下: 2.在项目src文件夹中新建数据库工具包(取

Android实例-手机安全卫士(三十六)-根据Service是否开启确定CheckBox选中状态

一.目标 1.根据service是否在后台运行情况来确定CheckBox的选中状态: 2.解决"设置中心"的“开启来电号码显示归属地”功能在退出程序再进入时选中状态消失,在任务管理器中关闭“来显”服务时,功能仍为选中状态 二.代码实现 1.在src文件下新建一个包(取名com.example.mobilesafe.utils)用于存放各种工具类: 2.在工具类包下新建类(取名ServiceUtils,无需继承任何类),用于校验某个服务是否在正常运行(开启):在新建类(ServiceUt