Android 4.0 has an API to build VPN services.
One such app with a VPN service is NetMotion Mobility® (Google Play)
Beginning with the "Lollipop" version, Android come with a new VPN type which provides information about VPN connection state, whether requests go over the VPN, etc.
(Connected to VPN)
Indicates that this network is not a VPN. This capability is set by default and should be explicitly cleared for VPN networks. Constant Value: 15 (0x0000000f)
Will try to answer few questions:
1. VPN doesn't affect other app flows - it just "virtually" place your device in another network. For example some company private network. This mean that all requests being send over VPN connection will go to that network and all rules/filters that applied inside that network applies to traffic generated by phone - which can cause issues to third party apps.
2. Real IP address when traffic go through VPN connection is replaced with VPN's IP addresses assigned by VPN server. Web servers that you connect with won't see your real IP address; they'll see the IP of VPN network gateway that you connect through.
5. With Android 5.0 Lollipop, VPN clients can finally offer granular control over which apps communicate over a secured network, and which apps connect to the Internet directly. Maybe this cause problems.
For VPN API's usage you could check this project : OpenVPN for Android
User contributions licensed under CC BY-SA 3.0