But there is one more trick I want to show. It allow to raise mobile connection even with wifi connected. ConnectivityManager#startUsingNetworkFeature method is used to request network for you application. You need to specify which network the request pertains to (first param) and the name of the feature to be used (second param). Typical request will looks like:
connectivityManager.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE, "enableHIPRI");
This means, that you want to enable High Priority (HIPRI) Mobile data connection over mobile network.
But you need to remember, that all requested network features are active only when your application is 'alive' (i.e. not stopped or killed by system).