gpt4 book ai didi

android - 如何在 Android 9+ 中以编程方式接听或拒绝来电?

转载 作者:行者123 更新时间:2023-12-05 03:47:43 31 4
gpt4 key购买 nike

我正在制作一个应用程序,它以编程方式接受来电,而不是默认的调用应用程序。在 Android 9 及以下版本中使用 tm.acceptRingingCall()tm.endCall 更容易实现。不幸的是,从 Android 10 开始,这些方法已被弃用。根据文档,可以使用 InCallService API 来完成。但是,是否可以在不成为默认调用应用程序的情况下做到这一点?

最佳答案

很遗憾,答案是否定的。从 Android 10 开始,处理电话调用的唯一方法是使用 InCallService API。我用 Java 制作了一个基本的拨号器应用程序,它解释了如何将调用作为默认拨号器应用程序处理的基础知识(链接:https://github.com/adnan-creator/java-custom-dialer)。因此,目前最好的解决方案是成为默认的拨号器应用程序,直到您需要以编程方式接受或拒绝调用的功能。然后您可以将控件传回内置的拨号器应用程序。

这可以通过在控制之前存储内置拨号器的包名来完成telecomManager.getDefaultDialerPackage()

然后可以将控件传回内置的拨号器应用

Intent intent = (new Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER))
.putExtra(
TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME,
storedPackageName);
this.startActivityForResult(intent, REQUEST_CODE_SET_DEFAULT_DIALER);

关于android - 如何在 Android 9+ 中以编程方式接听或拒绝来电?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64775512/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com