android 监听来电去电,Android监听来电和去电的实现方法

本文实例讲述了Android监听来电和去电的实现方法。分享给大家供大家参考,具体如下:

要监听android打电话和接电话,只需下面2步骤

第一步,写一个Receiver继承自BroadcastReceiver

import android.app.Service;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.telephony.TelephonyManager;

import android.util.Log;

public class PhoneStateBroadCastReceiver extends BroadcastReceiver

{

private static final String TAG = "PhoneStateBroadCastReceiver";

private static boolean mIncomingFlag = false;

private static String mIncomingNumber = null;

@Override

public void onReceive(Context context, Intent intent)

{

// 如果是拨打电话

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

{

mIncomingFlag = false;

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

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

} else

{

// 如果是来电

TelephonyManager tManager =

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

switch (tManager.getCallState())

{

case TelephonyManager.CALL_STATE_RINGING:

mIncomingNumber = intent.getStringExtra("incoming_number");

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

break;

case TelephonyManager.CALL_STATE_OFFHOOK:

if (mIncomingFlag)

{

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

}

break;

case TelephonyManager.CALL_STATE_IDLE:

if (mIncomingFlag)

{

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

}

break;

}

}

}

}

第二步:在AndroidManifest.xml,配置写好的Receiver,并拦截相应的BroadCastAction,

另外注意加上相应的权限

PS:这里再为大家提供一个关于AndroidManifest.xml权限控制的在线查询工具:

希望本文所述对大家Android程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值