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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。