安卓获取来去电号码

来源:互联网 发布:ember.js入门教程 编辑:程序博客网 时间:2024/05/16 18:36

第一步,写一个类继承于BroadCastRecriver,

第二步,注册要监听的动作

第三步,添加需要权限


一,java实现代码

public class PhoneStateBroadCastReceiver extends BroadcastReceiver {TelephonyManager tm;@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubtm=(TelephonyManager) context.getSystemService(context.TELEPHONY_SERVICE);//去电监听if(intent.getAction().equals("android.intent.action.NEW_OUTGOING_CALL")){Log.i("huang", "jj+:"+getResultData());//获得去电的号码String number=getResultData();Toast.makeText(context, NumberAddressQuery.getAddress(number), 1).show();}//来电监听else if(intent.getAction().equals("android.intent.action.PHONE_STATE")){switch(tm.getCallState()){case 1:Log.i("huang", "来电");//获得来电的号码String inNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);Log.i("huang","来电——:"+inNumber);Toast.makeText(context, NumberAddressQuery.getAddress(inNumber), 1).show();break;}}}}



二,监听动作


<receiver android:name=".PhoneReceiver" >      <intent-filter>          <action android:name="android.intent.action.NEW_OUTGOING_CALL" />          <action android:name="android.intent.action.PHONE_STATE" />      </intent-filter>  </receiver>



三,权限



<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />


0 0