如何延迟拨出电话

问题描述 投票:0回答:2

有没有选择延迟拨打Android电话?

一旦用户点击下面的呼叫按钮,就会调用方法。

public class DialBroadcastReceiver extends BroadcastReceiver {

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

        Log.v("DileBroadCastReceiver","In onReceive()");

        if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
            String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

            Log.v("DialBroadcast Receiver","Number is: "+number);
        }
    }
}

然后对手用户接听电话。

我需要的是当用户点击通话按钮我应该延迟一秒或两秒,是否有任何选择这样做。

我是一名新开发人员。你能帮我么?

java android broadcastreceiver telephonymanager
2个回答
1
投票
     try {
            //set time in mili
            Thread.sleep(3000);

        }catch (Exception e){
            e.printStackTrace();
        }

要么

 new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {
                    //do something
                }
            }, 3000//time in milisecond 
);

1
投票

在你的onReceive功能内

Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable(){
    @Override
    public void run() {
        if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
            String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
            Log.v("DialBroadcast Receiver","Number is: "+number);
        }
    }
}, 2000);    // 2000 for two seconds in milis
© www.soinside.com 2019 - 2024. All rights reserved.