我试图通过我的Android应用程序一个接一个地拨打多个电话,方法是在循环内调用一个函数并提供电话号码作为参数,然后进行呼叫,函数结束并返回到循环下次拨打电话,并拨打带有下一个号码的功能。
我尝试在特定时间内添加wait(),以使应用程序按预期运行,但是如果通话时间长于等待时间,则无法正常工作。
私人无效的callingStart(){ 而(tempAL.size()> 0){
PhoneNumber = (String) tempAL.get(0);
PhoneNumber.trim();
tempAL.remove(callingIndex);
if (PhoneNumber.length() > 0) {
finish();
makePhoneCall(PhoneNumber);
}
}
}
private void makePhoneCall(String PhoneNumber1){
if (ContextCompat.checkSelfPermission(callresult.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(callresult.this, new String[]{Manifest.permission.CALL_PHONE}, REQUEST_CALL);
}
else {
if (COUNT == callMade) {
startActivity(getIntent());
String dial = "tel:" + PhoneNumber1;
Intent i = new Intent(Intent.ACTION_CALL, Uri.parse(dial));
startActivity(i);
}
}
}
我期望打个电话一个接一个。 但是所有呼叫都可以一次拨打,也可以只拨打最后一个。
我只想在上一个通话结束后才能拨打电话。 我该怎么办?
答案 0 :(得分:0)
您不必等待电话结束-您将注册以接收电话事件通知。我在How to detect incoming calls, in an Android device?有一些旧代码,这些代码将显示如何知道何时结束通话。结束时,您可以注销并运行您等待的任何代码。