推荐安卓开发神器(里面有各种UI特效和android代码库实例)

要监听android打电话和接电话,只需下面2步骤
1.第一步,写一个Receiver继承自BroadcastReceiver

public class PhoneStatReceiver extends BroadcastReceiver{

private static final String TAG = "PhoneStatReceiver";

// private static MyPhoneStateListener phoneListener = new MyPhoneStateListener();

private static boolean incomingFlag = false;

private static String incoming_number = null;

@Override

public void onReceive(Context context, Intent intent) {

//如果是拨打电话

if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){

incomingFlag = false;

String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

Log.i(TAG, "call OUT:"+phoneNumber);

}else{

//如果是来电

TelephonyManager tm =

(TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);

switch (tm.getCallState()) {

case TelephonyManager.CALL_STATE_RINGING:

incomingFlag = true;//标识当前是来电

incoming_number = intent.getStringExtra("incoming_number");

Log.i(TAG, "RINGING :"+ incoming_number);

break;

case TelephonyManager.CALL_STATE_OFFHOOK:

if(incomingFlag){

Log.i(TAG, "incoming ACCEPT :"+ incoming_number);

}

break;

case TelephonyManager.CALL_STATE_IDLE:

if(incomingFlag){

Log.i(TAG, "incoming IDLE");

}

break;

}

}

}

}

第二步:在AndroidManifest.xml,配置写好的Receiver,并拦截相应的BroadCastAction,
另外注意加上相应的权限。

<receiver android:name=".filter.PhoneStatReceiver">

<intent-filter>

<action android:name="android.intent.action.PHONE_STATE"/>

<action android:name="android.intent.action.NEW_OUTGOING_CALL" />

</intent-filter>

</receiver>

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

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

更多相关文章

  1. Android之使用传感器获取相应数据
  2. Android(安卓)FileObserver 用法
  3. android-获取手机电话的状态
  4. 【android】 监听去电和来电电话状态
  5. Android(安卓)关于WebView加载完成的多种监听方式
  6. 我要一步一步往上爬——Android应用实例笔记(1)—手势
  7. Android模拟键盘和键盘监听的一些调研
  8. android phone电话调用流程
  9. Android自定义Listener

随机推荐

  1. Android文档(二)-应用基础(1)应用组件(Applica
  2. 取消对Android 4.0以下的支持是开发者的
  3. fix Android(安卓)building error on ubu
  4. Android平台上的高性能编程
  5. Android网络编程——https 不验证证书方
  6. [译文]移动应用开发,第1部分:在Android上应
  7. Android无法自动创建以usb开头的节点
  8. Android 3 使用 smartTable 表格工具 实
  9. [置顶] Android 的媒体路由功能应用与框
  10. Android 滑动切换页面 以及屏幕手势