我正在使用以下代码拨打电话号码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);
答案 0 :(得分:0)
当您的活动被置于后台时,它的主线程不再处于活动状态,因此您尝试执行的操作不起作用。
尝试启动后台线程,然后从那里执行代码。
答案 1 :(得分:0)
使用处理程序:
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