有没有办法检测来自Android的收费长途电话?

时间:2012-08-12 02:34:30

标签: android

那么, 我要试着解释一下我的问题。 在巴西,我们可以拨打正常电话,接听人员将支付费用。 我的意思是,A打电话给B,然后如果B接电话,那么他付钱而不是给他打电话的人。
当A以这种方式呼叫B时,他必须在B的实数前加一个数字。 我的意思是,如果B的电话号码是55555555,那么A需要像这样打电话给他:909055555555。

当我在来电中检查时,它只显示为正常的A号码而没有任何相关信息。 有谁知道如何检测这种电话?

1 个答案:

答案 0 :(得分:0)

试试此链接

http://www.krvarma.com/2010/08/detecting-incoming-and-outgoing-calls-in-android/

基本上,您注册android.intent.action.PHONE_STATE意图,并检查EXTRA_INCOMING_NUMBER意图的额外内容,以获取拨打您的人。 (您的Java代码,然后查看数字并做出任何决策。)

该链接指出

  

TelephonyManager.EXTRA_INCOMING_NUMBER。此变量包含传入的电话号码。请注意,当状态不是TelephonyManager.EXTRA_STATE_RINGING时,此变量将不存在。

我认为用户需要接听您的应用程序的呼叫才能检测到该号码,这对您来说可能是一个交易制造者。

<强>更新

我现在更了解你的问题。似乎从9090 *号到真实数字的转换是由您的蜂窝运营商完成的。我认为你没有办法检测它,因为你的手机没有看到两个电话之间的差异。它将它们视为同一个呼叫者。如果您与移动运营商交谈,您可能会得到更好的答案。