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

 

posted @ 2015-04-29 21:50  红烧大白鲨  阅读(291)  评论(0编辑  收藏  举报