7

背景

很长一段时间以来,Android 上都没有用于阻止调用的官方 API。

开发人员为 CallerId 和呼叫阻止应用程序所做的是使用一些反射技巧,如下所示

问题

似乎没有阻止应用在 Android P DP3 上运行(在 Pixel 2 上测试)。即使是非常流行的应用程序(例如 TrueCaller)也无法阻止呼叫。

我相信这是因为它可能会被官方 API 取代,因为有一些文章讨论了用户的内置呼叫阻止功能:

https://www.gsmarena.com/android_p_may_introduce_stricter_call_blocking-news-29940.php

我发现了什么

唯一可以替代它的解决方案是扩展InCallService类,但这样做您还必须让您的应用程序成为默认拨号器应用程序:

除了实现 InCallService API 之外,您还必须在清单中声明一个处理 Intent.ACTION_DIAL 意图的活动。

不仅如此,一次只能设置一个应用程序,因此用户不能选择多个 callerId 和/或呼叫阻止应用程序。

看我找不到替代品,而且现在是请求这种东西的最佳时机,我也在这里请求了它。

问题

是否有其他方法可以拒绝来电?

谷歌现在是否提供了官方功能来做到这一点?

4

1 回答 1

4

使用新的 Android P API 应该很容易。您的应用需要请求权限Manifest.permission.ANSWER_PHONE_CALLS。然后就可以在这里调用class docendCall的方法了。TelecomManager

于 2018-06-30T07:29:27.660 回答