我是Android开发的新手。我想创建一个应用程序,它会为主叫号码添加一个前缀,这个决定将取决于一些参数。
我希望用户能够意识到这一点,但不必对此做任何事情,这意味着一旦安装了应用程序并且用户想要调用它们,他们就会看到一个前缀将被添加到他们正在打电话的号码。
问题不在于如何为主叫号码添加前缀(虽然,这也是我想知道的,但我找到了一篇关于它的文章),而是:
1)它会成为一项服务吗?
2)是否可能通过为其添加前缀来更改调用号码,并向用户显示更改后的号码,以便他们无需执行此操作关于它的任何事情(比如按“是”,“否”接受这个)?
答案 0 :(得分:1)
您应该注册Intent.ACTION_NEW_OUTGOING_CALL
广播行动:即将拨打电话。
Intent将具有以下额外值:
EXTRA_PHONE_NUMBER - 原本打算成为的电话号码 拨打。广播完成后,resultData将用作 要拨打的实际号码。如果为null,则不会进行任何调用。
多个接收器处理完全可以接受 拨出电话:例如,家长控制应用程序 可能会验证用户是否有权将呼叫置于该呼叫 时间,然后数字重写应用程序可能会添加区号代码 一个未指定。
为保持一致性,任何接收者的目的是禁止打电话 应优先级为0,以确保它能看到最终的手机 要拨打的号码。任何接收器的目的是重写电话 要调用的数字应该具有正优先级。负 优先权保留给该广播系统;使用它们 可能会引起问题。
接收此Intent的任何BroadcastReceiver都不得中止 广播。
使用此机制和其他机制无法拦截紧急呼叫 使用此功能无法修改呼叫以拨打紧急号码 机构。
某些应用(例如VoIP应用)可能希望重定向拨出电话 改为使用自己的服务。那些应用应该首先阻止 通过将resultData设置为null然后启动来调用 他们自己的应用程序来打电话。
您必须持有PROCESS_OUTGOING_CALLS权限才能接收此权限 意图。
这是受保护的意图,只能由系统发送。
常量值:“android.intent.action.NEW_OUTGOING_CALL”