0

我是 Android 开发的新手。我想创建一个应用程序,它会为呼叫号码添加前缀,这个决定将取决于一些参数。

我希望用户知道它但不必对此做任何事情,这意味着一旦安装了应用程序并且用户想要调用,他们只会看到前缀将添加到他们的号码正在打电话。

问题不在于如何为呼叫号码添加前缀(虽然这也是我想知道的,但我找到了一篇关于它的文章),而是:

1)它会成为一项服务吗?

2)是否可以通过添加前缀来更改主叫号码并向用户显示更改后的号码,以便他们不必对此做任何事情(比如按“是”、“否”来接受这个) ?

4

1 回答 1

1

你应该注册Intent.ACTION_NEW_OUTGOING_CALL

广播动作:即将拨出电话。

Intent 将具有以下额外价值:

EXTRA_PHONE_NUMBER - 最初打算拨打的电话号码。广播结束后,resultData 将用作实际调用的号码。如果为 null,则不会发出任何呼叫。

多个接收者依次处理拨出电话是完全可以接受的:例如,家长控制应用程序可能会验证用户当时是否有权拨打电话,然后号码重写应用程序可能会添加一个区号,如果一个未指定。

为保持一致,任何目的是禁止电话呼叫的接收器的优先级应为 0,以确保它会看到要拨打的最终电话号码。任何旨在重写要呼叫的电话号码的接收器都应该具有积极的优先级。为该广播系统保留负优先级;使用它们可能会导致问题。

任何接收此 Intent 的 BroadcastReceiver 都不得中止广播。

使用该机制无法拦截紧急呼叫,也无法修改其他呼叫使用该机制拨打紧急号码。

某些应用程序(例如 VoIP 应用程序)可能希望将拨出呼叫重定向到使用自己的服务。这些应用程序应首先通过将 resultData 设置为 null 来阻止调用,然后启动它们自己的应用程序进行调用。

您必须拥有 PROCESS_OUTGOING_CALLS 权限才能接收此 Intent。

这是一个只能由系统发送的受保护意图。

常量值:“android.intent.action.NEW_OUTGOING_CALL”

于 2013-07-07T03:31:56.163 回答