0

Well, I'm gonna try to explain what's my problem. Here in Brazil we can make a normal call and the recieving person will pay for it. I mean, A calls to B, then if B picks the phone, then he pays and not the one who called to him.
When A calls to B in this way he must prefix a number before the B's real number. I mean, if B's phone number is 55555555, then A needs to call him like this: 909055555555.

When i check it in incoming calls, it appears only as normal number of A without any information about it. Does anyone know how to detect this kind of call?

4

1 回答 1

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* 数字到实数的转换似乎是由您的蜂窝运营商完成的。我认为您没有办法检测到它,因为您的手机看不到这两个电话之间的区别。它认为他们是同一个来电者。如果您与手机运营商交谈,您可能会得到更好的答案。

于 2012-08-12T02:43:07.040 回答