我是 Android 开发的新手。我想创建一个应用程序,它会为呼叫号码添加前缀,这个决定将取决于一些参数。
我希望用户知道它但不必对此做任何事情,这意味着一旦安装了应用程序并且用户想要调用,他们只会看到前缀将添加到他们的号码正在打电话。
问题不在于如何为呼叫号码添加前缀(虽然这也是我想知道的,但我找到了一篇关于它的文章),而是:
1)它会成为一项服务吗?
2)是否可以通过添加前缀来更改主叫号码并向用户显示更改后的号码,以便他们不必对此做任何事情(比如按“是”、“否”来接受这个) ?
我是 Android 开发的新手。我想创建一个应用程序,它会为呼叫号码添加前缀,这个决定将取决于一些参数。
我希望用户知道它但不必对此做任何事情,这意味着一旦安装了应用程序并且用户想要调用,他们只会看到前缀将添加到他们的号码正在打电话。
问题不在于如何为呼叫号码添加前缀(虽然这也是我想知道的,但我找到了一篇关于它的文章),而是:
1)它会成为一项服务吗?
2)是否可以通过添加前缀来更改主叫号码并向用户显示更改后的号码,以便他们不必对此做任何事情(比如按“是”、“否”来接受这个) ?
你应该注册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”