Android 呼叫电话号码时启动延迟意图

Android 呼叫电话号码时启动延迟意图,android,android-intent,Android,Android Intent,我用下面的代码打电话到123456,我遇到的问题是用一个新号码打另一个电话,当第一个电话还在打时,可能会延迟2-3秒 我尝试过Thread.sleep()、Handler、startActivityForResult()等等,但它们都在等待我按下后退按钮,以便在应用程序开始第二次调用之前返回应用程序 String num = "tel:123456"; Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.pa

我用下面的代码打电话到123456,我遇到的问题是用一个新号码打另一个电话,当第一个电话还在打时,可能会延迟2-3秒

我尝试过Thread.sleep()、Handler、startActivityForResult()等等,但它们都在等待我按下后退按钮,以便在应用程序开始第二次调用之前返回应用程序

String num = "tel:123456";

Intent intent = new Intent(Intent.ACTION_CALL);  
intent.setData(Uri.parse(num));  
startActivity(intent);
编辑:

在开始第二次调用之前,我添加了以下内容,并且它正常工作

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

当您的活动被置于后台时,它的主线程不再处于活动状态,因此您尝试执行的操作不起作用

尝试启动后台线程,并从那里执行代码。

使用处理程序:

Handler delayedCallHandler = new Handler() {
  public void handleMessage(Message msg) {
    String num = (String) msg.obj;

    Intent intent = new Intent(Intent.ACTION_CALL);
    intent.setData(Uri.parse(num));
    startActivity(intent);`
  }
};
在代码中,您可以延迟启动活动:

delayedCallHandler.sendMessage(
    delayedCallHandler.obtainMessage(0, "tel:123456"), // msg.obj = the number to call
    2000); // 2 seconds