Is it possible to insert custom data in phone call initialization? - android

I want to send some custom flag when user initiate call with other user(s). On the other side I would install app that will catch call when it is in status ringing and I want to read that flag. Basically I want to use some space within package, that is titled as free data form (that is only info I got so far).
This is going to be Android and/or iPhone app. Anything that will work.
Is it even possible?

Related

Prevent calls on android / without rejecting them

I wonder if it is possible to build an application for Android that waits for incoming calls and only allows the ones that are in an internal white list to show and make sound.
I know this is what a normal call blocker would do and I know that it is possible..however what I really want is:
If a call arrives that is not in the white list, I don't want to reject it, I don't want the caller to know the call was rejected. I just want my app to be aware of it but make it invisible to the current phone app. I could mute the phone and the call wouldn't ring but the phone app would still popup in front of everything or at least on the status bar.
If a call arrives and it is in the white list then the app would do nothing..just allow the phone app to treat it.
I think I can do this by implementing my own dialer app, but would much prefer not having to do that and just use whatever the user already has.
Thank you
Carlos

Custom dialler for Internet Calls (Android)

I'm trying to get an idea of what's possible and what isn't in terms of using a custom dialler app for internet calls.
The idea is that the standard Android dialler be used when no internet connection is available, but use a custom-written VOIP dialler / caller app whenever an internet connection is available.
I see that in the Android call settings you can set it to use Internet calling whenever a connection is available. How does this work? Does this simply tell the native dialler app to use internet calling, or is there actually a specific Intent or something that gets fired when an internet call is made so that I can open my custom SIP app?
And also, is the 'standard phone app' icon always linked to the standard phone app, or can you override this phone icon to open your custom VOIP app when a connection is present?
So basically, is there a way to seamlessly and automatically switch between the standard dialler and the custom SIP dialler based on whether or not the phone is connected to the internet?
If not, is this something that could be done by customizing Android?
Thanks,
There are four possible ways of doing what you want that I know of:
1. Replace the Android Dialer
This is hard and a lot of work. The Android Dialer (last time I checked anyway) WAS the telephony stack in Android. So to replace it you have to replace the complete telephony stack (including any public API) i.e. handle all cellular (and now sip) calls in and out of the device. Also the only way to replace it is to root the device as it can't be replaced normally.
2. Provide your own Dialer that is separate to the main dialer.
This has it's advantages that you will never get into "trouble" with anything else.
3. Hook into the outbound call API (ACTION_NEW_OUTGOING_CALL)
This is something that is pretty cool and I haven't seen any other OS allow you to do. Basically you can trap when either the normal dialer starts to dial a number (or when another application starts to dial a number as well) and you can either allow it through, modify it or cancel it. Behavior I've seen from sip clients is that they will cancel the call and put up a selection screen prompting where you want to send the call (sip, cellular or something else).
Here is an example of it's use.
The downsides are:
You can be fighting with other applications to which gets first go. There is a 'priority' setup, but all I've seen is everybody wants to be number one.
On some Android devices where the OEM providers that own Dialer, they don't always fire it!!!
4. Detect when the dialer is shown and show your own dialer in front of it.
This works and does allow you to provide a nicer more integrated feel as you can provide call type selection within the dialer, as well as other custom number lookups but that can be a little tricky to do on some devices.
I would suggest 3 to begin with as it's pretty easy to do and you can get something up going pretty fast. In code that I have worked on, we have done 2, 3 and 4 and also looked into 1.

How can I hide some outgoing call number in Android [duplicate]

I have an application from which a user can call another user with the click of a button.
I was wondering whether there was a way to place this call anonymously, hiding the phone number from the user and not saving it in the call history.
According to the platform source-code there is NO WAY to place a call without the knowledge of the user. The best thing you can do is to make the call automatically but the user will see a dialog saying: "Calling XXXXXXXX" and he will have the chance to cancel it.
Even if you make your own dialer application you will have to sign it with the system key and place it in the system/apps folder in order to get the required permissions for that kind of things.
As for the call log, I don't know if you can make the call not to appear in it in the first place but I think (not sure though) that you can find it and deleted afterwards. Android informs other applications of call actions via Intents so it is relative easy to detect when a call ended and then query the call log.
Hope this helps...

Can I programmatically place an anonymous phone call?

I have an application from which a user can call another user with the click of a button.
I was wondering whether there was a way to place this call anonymously, hiding the phone number from the user and not saving it in the call history.
According to the platform source-code there is NO WAY to place a call without the knowledge of the user. The best thing you can do is to make the call automatically but the user will see a dialog saying: "Calling XXXXXXXX" and he will have the chance to cancel it.
Even if you make your own dialer application you will have to sign it with the system key and place it in the system/apps folder in order to get the required permissions for that kind of things.
As for the call log, I don't know if you can make the call not to appear in it in the first place but I think (not sure though) that you can find it and deleted afterwards. Android informs other applications of call actions via Intents so it is relative easy to detect when a call ended and then query the call log.
Hope this helps...

Can i call an android application's method remotely?

I am developing an android application. What i want is to call a method present in that android application remotely from a desktop like from a "servlet" or an application.
How can this be done?? For example i want to call a method which i have already written in the app which calls a particular number. How can i invoke this method remotely?? please help.
PS - It is kind of urgent.
It will be hard to communicate from your desktop to your handheld. But you can poll a server from your handheld.
Write an app that every n seconds (the frequency you require) polls e.g. a web page on your server. When the web site's content is "noop", the app does nothing and keeps on polling. If the web site's content is "doit", the app dials the number you want.
So, when you change the content of this web page either manually or programmatically you can "remote-control" your hand held.
This is just an example, it must not be HTTP, neither NOOP and DOIT, just anything you like. Let the server return the phone number which you want dialled for instance.
Well, sounds like you want your app to be waiting for push notifications. I think this question is exactly what you need to look at.

Categories

Resources