I had this problem in my last project and the approach we had to end up using, also according to Google's way to handle this issue was to pop up the Setting->Mobile Networks Activity in front of the user, so he could explicitly enable it, not only for requirement reasons but also for Legal Term issues because if your app consumes 3G data making the user spend money without his knowledge, you can get in legal problems...
Regards!