Android 呼叫电话号码时启动延迟意图
我用下面的代码打电话到123456,我遇到的问题是用一个新号码打另一个电话,当第一个电话还在打时,可能会延迟2-3秒 我尝试过Thread.sleep()、Handler、startActivityForResult()等等,但它们都在等待我按下后退按钮,以便在应用程序开始第二次调用之前返回应用程序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
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