正文  设备功能 > 电话 API >

Android获取来电号码

Android来电号码获取的方法很简单,虽然Dalvik上的程序都是Java写的,但是仍然可以处理系统事物,使用PhoneStateListener;类可以监测话机状态,而TelephonyManager可以获取电话服务的实例,写代码时不要忘了在an......

Android来电号码获取的方法很简单,虽然Dalvik上的程序都是Java写的,但是仍然可以处理系统事物,使用PhoneStateListener;类可以监测话机状态,而TelephonyManager可以获取电话服务的实例,写代码时不要忘了
在androidmanifest.xml中加入权限。

       需要引入两个Package

java代码:
  1. import android.telephony.PhoneStateListener;
  2. import android.telephony.TelephonyManager;
  3.  
  4. MyPhoneStateListener phoneListener=new MyPhoneStateListener(); //我们派生的类
  5.  
  6. TelephonyManager telephonyManager =(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
  7.  
  8. telephonyManager.listen(phoneListener, PhoneStateListener.LISTEN_CALL_STATE);

       这里做下简单的调试,直接使用Logcat查看来电号码:

java代码:
  1. import android.content.Context;
  2. import android.telephony.PhoneStateListener;
  3. import android.util.Log;
  4.  
  5. public class MyPhoneStateListener extends PhoneStateListener {
  6. Context context;
  7.  
  8. @Override
  9. public void onCallStateChanged(int state,String incomingNumber){
  10. Log.e("PhoneCallState", "Incoming number "+incomingNumber); //incomingNumber就是来电号码
  11. }

       整个来电软件制作十分简单,Android平台在各方面都比较智能,加上一个BOOT_COMPLETED获取,保证开机自动运行,一个来电通就很容易的制作完成了。