1

我试图通过我的android应用程序一个接一个地拨打多个电话,方法是在循环中调用一个函数并提供一个电话号码作为参数,然后进行调用,函数结束并返回到下一个电话的循环并调用具有下一个数字的函数。

我已尝试在一段时间内添加 wait() 以使应用程序按预期运行,但如果调用持续时间大于等待时间,则它不起作用。

私人无效调用开始(){而(tempAL.size()> 0){

            PhoneNumber = (String) tempAL.get(0);
            PhoneNumber.trim();
            tempAL.remove(callingIndex);
            if (PhoneNumber.length() > 0) {
                finish();
                makePhoneCall(PhoneNumber);                                
            } 
        }

}

私人无效makePhoneCall(字符串电话号码1){

    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);
            }            
    }
}

我原以为电话会一一打通。但是所有的电话都是一次打出来的,或者只打最后一个电话。

我只想在上一个电话结束后才拨打电话。我怎样才能做到这一点?

4

1 回答 1

0

您无需等待电话结束 - 您将注册电话事件通知。我在如何在 Android 设备中检测来电?这将显示如何知道通话何时结束。当它结束时,您取消注册并运行您将等待的任何代码。

于 2019-05-31T15:54:06.360 回答