android 双卡 监听来电状态始终为0

public class CallReceiver extends BroadcastReceiver {

    @Override
    public void onReceive( Context context, Intent intent) {
        Log.i("sms", "CallReceiver Start...");
        Log.i("sms", "CallReceiver Phone num : " + num);
        Log.i("sms", "CallReceiver Phone lastNumber : " + lastNumber);

        TelephonyManager telephony = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        CallListener customPhoneListener = new CallListener(context);

        telephony.listen(customPhoneListener,
                PhoneStateListener.LISTEN_CALL_STATE);
}

以上是广播的主要代码,收到来电会接到广播

然后在listener中回调

public class CallListener extends PhoneStateListener {
    private static final String TAG = "sms";
    // 最后的状态,默认为空闲状态
    private static int lastState = TelephonyManager.CALL_STATE_IDLE;
    private Context context;

    public CallListener(Context context) {
        super();
        this.context = context;
    }

    public void onCallStateChanged(int state, String incomingNumber) {
        // 如果当前状态为空闲,上次状态为响铃中的话,则认为是未接来电
        Log.e("lastState", "="+lastState);
        Log.e("state", "="+state);

        //未接来电,有些手机卡的卡二收到的state始终为0
        if (lastState == TelephonyManager.CALL_STATE_RINGING && state == TelephonyManager.CALL_STATE_IDLE) {
          
            Log.e("state", "未接来电");
        }


        // 最后的时候改变当前值
        lastState = state;

    }

 

我在判断未接来电的时候发现,大部分手机正常,有一些双卡手机收到的state始终为0,我就无法判断是否为未接电话

希望能有大佬能指点指点

有没有大佬遇到过这样的问题?