小编Mr *_*nci的帖子

如何在Android中检查是否接听了拨出电话?

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

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

在Android中无法检测到何时应答拨出呼叫

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

<receiver android:name=".listener.OutCallLogger">
    <intent-filter>
        <action android:name="android.intent.action.PRECISE_CALL_STATE" />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android

7
推荐指数
1
解决办法
1432
查看次数

标签 统计

android ×1