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>
View Code

 

  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 }
View Code

 

转载于:https://www.cnblogs.com/Red-Shark/p/4467507.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值