我试图检测用户何时接听电话.我的应用程序拨打电话号码,但没有看到用户是否回答我无法执行我需要的关键功能.看起来你可以在第5版及以上版本中执行此操作,如本文所示,但我无法弄清楚如何做到这一点.我知道有人必须想出一个解决办法,因为正如一个人之前所说,一旦用户回答,呼叫计时器就会启动,所以必须有办法检测它.此问题已多次发布,但没有人发布正确答案.

似乎答案在于蒂姆S.答案在这里:

public class OutCallLogger extends BroadcastReceiver {

@Override

public void onReceive(Context context,Intent intent) {

switch (intent.getIntExtra(TelephonyManager.EXTRA_FOREGROUND_CALL_STATE,-2) {

case PreciseCallState.PRECISE_CALL_STATE_IDLE:

Log.d(This.LOG_TAG,"IDLE");

break;

case PreciseCallState.PRECISE_CALL_STATE_DIALING:

Log.d(This.LOG_TAG,"DIALING");

break;

case PreciseCallState.PRECISE_CALL_STATE_ALERTING:

Log.d(This.LOG_TAG,"ALERTING");

break;

case PreciseCallState.PRECISE_CALL_STATE_ACTIVE:

Log.d(This.LOG_TAG,"ACTIVE");

break;

}

}

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐