从IDLE状态开始的上次通话持续时间

时间:2019-03-24 01:23:56

标签: java android

我正在尝试使用不同的状态从android应用程序获取最后一次通话的持续时间。最佳解决方案是每当通话结束时,将同时保存主叫号码和通话时长(该号码正在工作,所以我只需要通话时长)。

EXTRA_STATE_IDLE应该触发。但是,有没有办法在此函数中获得实际的通话持续时间?

公共类PhoneStateReceiver扩展了BroadcastReceiver {

long elapsedMillis = 0;


@Override
public void onReceive(Context context, Intent intent) {

    String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
    String number = intent.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
    Chronometer chronometer = new Chronometer(context);


  try {
        if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)){
            Toast.makeText(context, number ,Toast.LENGTH_SHORT).show();

        }
        if ((state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK))){           
            Toast.makeText(context,"dg",Toast.LENGTH_SHORT).show();

        }
        if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){

        }
    }
    catch (Exception e){
    Log.e("MYAPP", "exception", e);
    e.printStackTrace();        }




}



}

0 个答案:

没有答案