如何让 android 应用程序等到电话完成?

Posted

技术标签:

【中文标题】如何让 android 应用程序等到电话完成?【英文标题】:How can I make android app wait till a phone call is completed? 【发布时间】:2019-10-17 06:55:30 【问题描述】:

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

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

私人无效调用开始() while (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);
                        
    

我原以为电话会一一打通。 但是所有的调用都是一次进行的,或者只进行最后一次调用。

我只想在上一个通话结束后才拨打电话。 我该怎么做?

【问题讨论】:

【参考方案1】:

您无需等待电话通话结束 - 您会注册电话事件通知。我在How to detect incoming calls, in an Android device? 有一些旧代码,它将显示如何知道通话何时结束。当它结束时,你取消注册并运行你会等待的任何代码。

【讨论】:

我是 Android 编程新手,能否请您详细解释一下我需要做些什么才能使其正常工作。

以上是关于如何让 android 应用程序等到电话完成?的主要内容,如果未能解决你的问题,请参考以下文章

如何让加载活动等到线程完成

如何让函数调用等到另一个完成

如何让函数等到动画完成?

如何让语句等到前一个函数完成?

如何等到相机在android中捕获图像?

如何让python脚本等到下载完成