那么,
我要试着解释一下我的问题。
在巴西,我们可以拨打正常电话,接听人员将支付费用。
我的意思是,A打电话给B,然后如果B接电话,那么他付钱而不是给他打电话的人。
当A以这种方式呼叫B时,他必须在B的实数前加一个数字。
我的意思是,如果B的电话号码是55555555,那么A需要像这样打电话给他:909055555555。
当我在来电中检查时,它只显示为正常的A号码而没有任何相关信息。 有谁知道如何检测这种电话?
答案 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 *号到真实数字的转换是由您的蜂窝运营商完成的。我认为你没有办法检测它,因为你的手机没有看到两个电话之间的差异。它将它们视为同一个呼叫者。如果您与移动运营商交谈,您可能会得到更好的答案。