我正在处理一个接听电话的应用,并且在通话期间拨号盘输入之前保存或复制的号码。首先,我想知道这是否可行。其次,我一直在考虑一些想法,但我不知道它们有多疯狂,因为我对Android相对较新,对它的局限性一无所知:
这些都是可能的(为什么或为什么不可能)?或者你能建议任何其他方式来实现我想要的吗?非常感谢,非常感谢。
编辑:让我更具体一点。这是我定位的屏幕:
我需要一些方式来获取此字段中的自定义数字。无论如何,我只需要一个领先或小费让我走上正轨。我见过人们制作的应用程序是自定义拨号程序,但他们所做的只是输入一个号码并打电话。如果我必须创建自己的应用程序,它必须能够接听电话或访问接听电话,并填充上述字段或其自己的字段,以便提供相同的功能。
答案 0 :(得分:3)
我不认为有
的API我现在想的最好的方法是在通话期间打开一个应用程序(可能通过Receiver),使用TextView输入文字
然后在这里你可以打电话:
Intent intentCall = new Intent(Intent.ACTION_CALL, Uri.fromParts("tel", phoneNumber, null));
startActivity(intentCall);
但我不知道手机应用会如何反应
答案 1 :(得分:2)
根据您提供的说明,您似乎需要使用电话管理器界面。 您可能面临的问题是,您可能会尝试以编程方式选择呼叫并有效地更改电话状态。换句话说,您需要MODIFY_PHONE_STATE权限。此权限现在仅限于系统应用程序,从Gingerbread开始。 如果没有这个基本许可,我认为您的应用程序理念不会非常可行。此外,由于您将尝试以编程方式键入数字,我假设是为了发送DTMF音调,您将遇到Android In Call Data无法访问应用程序的问题。 截至目前,缺少对Android中正确的电话包的支持。 我希望上面的内容澄清了你的一些问题。
答案 2 :(得分:2)
如果我理解正确,您希望应用在收到来电后拨打拨号盘中的几个号码。
以下可能是值得尝试的选项。
使用com.android.internal.telephony.ITelephony
获取内部Java reflection
对象。 Details here。然后调用dial()
方法。此方法只是将数字添加到拨号盘,但实际上并未启动电话呼叫。这可能适合你。