Masking call while making from inapp - android

Can anyone tell me on how to overwrite my apps name when a call is made from my app just how ola app does masking their name wherein the auto driver or the taxi driver to whom we have called doesn't know our name r when they call it comes under the name of ola not their name i.e the auto drivers name r taxi driver's name is it possible to implement such a feature in other apps also programatically if so can anyone tell me how to implement I search for masking of numbers and many others but unable to find .

Sadly to say, this just isn't entirely* possible. Here are some links detailing why:
Incoming Calls
Note: It is possible to display a custom GUI during an incoming call, but it is not always guaranteed that this custom GUI will be displayed first.
Pop up window over Android native incoming call screen like true caller Android app
Outgoing Calls
Note: it is possible to override the outgoing number called, but not to mask it
http://androidlabs.org/short-experiments/broadcast-receivers/process-outgoing-calls/
Ola App uses a backend telephony system, where taxi cab requests are sent to a phone center(owned by Ola).
Taxi cab drivers register and install a client app that automatically handles calls(and numbers).
This way the identity of the taxi cab driver and the rider can be masked.
When a taxi driver needs to call a rider, that call is passed through Ola's telephony system as well. This is why the phone number displayed on the rider's phone is different from the driver's real number.
Hope that helps...

Related

Check SIMCards's PIN

So I've research this subject and I didn't get much information, even though I did read a few threads here like Check SIM PIN with SDK Android and Ask user for SIM Card PIN but neither of them really answer the question - the app I'm trying to write is based on USSD and will run on devices with SIMCards.
I also read the thread Use system PIN dialog in Android application, but I'm not trying to overwrite the OS, I'm just trying to write a simple app that can check an entered String against the SIMCard PIN. On this last thread, a user (a.ch.) said that trying to access or even check the SIMCard PIN number is not allowed by the OS (at least without modifications, I suppose). Can you guys confirm or give me a link that mentions this prohibition?
Also, is it possible to, using only USSD, check the PIN? For example, I only know the MMI code to change PIN:
**04*Current PIN * New PIN * New PIN#.
And this actually returns fail or sucess messages, and if I make Current PIN = New PIN, I can actually identify if the PIN I introduced is correct or not, but I see this on a text message. Does the smartphone return this info in a attribute that I can check? How can I access the return code?
I need all the help I can get :)

Android- wifiDirect

I am developing a simple wifiDirect chat app.My app does peer searching and once peer's list is available one can select a particular device, the one to connect with. Then my code calls connect() which sends a notification to the other device (2nd phone) about connection (default). Once the second phone agrees to the connection then 1st phone becomes group owner while second phone running my app does nothing.
So my question is do I need to call connect() on both devices? Also when is this intent action WIFI_P2P_THIS_DEVICE_CHANGED_ACTION broadcast?
Need help, read android.developers.com and other official sites but couldn't figure out.
No, you only need to call connect() on one device. Note that this does not mean that the device that calls connect() will be the group owner. The system will decide the group owner itself. You can only suggest your preference through config.groupOwnerIntent = x; where x is from 0 to 15, 0 representing least intention to become owner while 15 represents the highest.
WIFI_P2P_THIS_DEVICE_CHANGED_ACTION event will be fired when the status of the device has changed.
Use the following code to fetch the updated details of the device.
(WifiP2pDevice)intent.getParcelableExtra(WifiP2pManager.EXTRA_WIFI_P2P_DEVICE));

How can I call a phone number using the Sip capabilities?

All examples I've seen require a SipProfile of the person I'm calling. In this case I'm not making a voip-to-voip call, but rather a voip-to-landline call.
Basically I want to mimic what the default Caller application does, you set up a Sip account and just call the person to his/her phone number.
Thanks in advance.
I managed to get it working by forming the address like this: xxxxxx#server.com where xxxxxx is the phone number to call. I don't know if it is the standard way, but it worked with my current VoIP provider (Plivo) since it creates endpoints dynamically.

What info can I get during a phone call using the Android API?

Could I get MCC & MNC of the other party, either on an incoming or an outgoing call?
I am aware that you can get your own information from the SIM card but I am interested for the information of my contacts.
I guess I must be able to retrieve such information during a phone call.
So two main questions:
Is it allowed from the protocol?
Are there any classes inside Android API that provide such information? (looked up inside TelephonyManager but did not find any)
Like payeli has answered: No, you cannot.
Firstly, because there is no API for accessing the other party's cellular information. Secondly, because Android doesn't actually know. You can delve into the source code of the TelephonyManager, and you'll see that it only contains information about the local telephony provider.
Furthermore, the internal Android class Connection also shows no hint of any such information. (Regardless of the information it contains, it isn't accessible from the API, not even via reflection.)
That being said, there are currently services that provide some insight into phone numbers. Here in the Netherlands, KPN provides an API for looking up caller information, including the current coverage state of the phone, whether it's roaming or not, and other details. I'm not sure if the API is public yet or not, but perhaps there's a similar service available in your region.
No, you can only retrieve the MCC and MNC of your phone, not for third party numbers to which you make or recieve calls.
Reason: Calls target a phone number, not the MCC/MNC of the sending/receiving devices. The MCC / MNC tuple is used to uniquely identify a mobile phone operator/carrier, so if user is using carrierX at present, he will have one value of MCC/MNC, and if user changes mobile carrier/operator but retains same phone number, the the value of MCC/MNC will change but phone-number will still be constant.
So the mapping between phone number of a contact and MCC/MNC of their carrier are not fixed. So:
Could I get MCC & MNC of the other party, either on an incoming or an outgoing call? NO

How to forward calls to specified phone numbers based on the incoming extension number with android?

This question sounds a bit odd, and it is maybe impossible, but I really need to do something like this, and I need a cheap solution.
What I would like to do is to use and Android phone to forward incoming calls to specified numbers based on the extension number. Is it possible virtually? I do not have real extensions, just one Android device with only one phone number, so that is why I am thinking about extension numbers, I think this is the only way to identify the target number with a cellphone.
Sample:
My number: 00491234567
When user calls 00491234567-01 it will ring at 00490987654
When user calls 00491234567-02 it will ring at 00490456789
What you are asking for needs to be provided by the telephone switching network, not the phone itself.
When someone dials 00491234567-01 on their phone, the number will either be rejected as being malformed, or the -01 addition will be ignored and not send via the call control protocols.

Categories

Resources