Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

TL;DR

Usually, I have my device locked to "2G only" for multiple reasons:

  • saving
  • no need for "high-speed" to simply be informed about new mail or doing the little contacts/calendar syncs (not much changes, either)

But from time to time, I could use 3G:

  • some area that has bad 2G coverage (data-wise)
  • the occasional "internet use" e.g. with a navigation app, looking up "a little more" on the web, or installing something from

For those occasions, I find it impractical to navigate to the settings page and change that manually -- even when done via some "shortcut" placed on a . Preferably, I want to be able to automate this via , to e.g. automatically switch when entering/leaving the "bad coverage area" or when one of those apps is in foreground (both conditions are covered by tasker, just the "action" is missing). I checked thoroughly on our site here, on the , and even did an extensive Google search -- but all that turned up was either a shortcut or a kernel patch for specific ROMs, both no-gos for me.

Hence my...

Question:

Is there any easy way to switch between 2G/3G mode? As said, shortcuts to the settings page do not count (so Can anyone reccomend a 2g / 3g switching widget? is no option). Wanted criteria include:

  • not requiring more than one tap (preferably no tap to trigger the action, see below)
  • a big plus (and favorite wish): ability to be triggered via
  • not depending on specific ROMs (should work with )
  • preferably not involving -- but options requiring root would still be fine with me
  • hacks are fine with me as well :)
share|improve this question
    
You will almost certainly need to be rooted to do what you're asking; like the GPS, I don't believe non-system Apps have the ability to toggle that. –  Harsha K Apr 24 '13 at 19:24
    
Which phone have you got? My Tasker has a 2G/3G toggle (under the Net action category when adding a task), but it's disabled on my LTE S3. –  Trebor Rude Apr 24 '13 at 19:33
    
@HarshaK I will not be rooted -- but my devices are :) That's why I wrote "options requiring root would still be fine with me", though a solution not requiring root would be useful for a broader audience. I'm well aware that a non-root solution is quite unlikely -- but hey, I thought the same when I posted my question about "full backup of non-rooted devices", and got a big surprise. So why not again? :) –  Izzy Apr 24 '13 at 19:47
    
@TreborRude Same for me, though the device is rooted (looks like Tasker itself does not make use of that). Current device list: see my profile :) Most important ATM would be the LG Optimus 4X -- but again, if the solution is available for a broader audience, all the better. –  Izzy Apr 24 '13 at 19:50
    
I don't get why a widget is not accepted? Switch pro has a button to do exactly what you want with a single tap, you don't need to be root AFAIK, and is not ROM specific. No tasker support I'm afraid though. –  UncleZeiv Apr 29 '13 at 22:27

3 Answers 3

up vote 1 down vote accepted

With Xposed module and Gravity Box installed, the pull down status bar can be customised even on stock ROM (of course it has to be rooted).

I have a Nexus 5 running stock 4.4.4 and following is how it looks: enter image description here

With these installed, one can swipe down with two fingers from top and just tap the last tile shown as "3G" in the image. Though this nearly misses the first requirement of using no more than one tap, technically it still does as you have swipe down and use one tap. enter image description here

That tile toggles between 3G, 2G, 2G3G states. There is a minor lag to see the signal strength tile to reflect the status as "H+" or "E".

By installing the Gravity Box, I was also able to bring in the additional tiles like "Torch On/Off", "Auto Rotate Lock" etc which were not available in the stock ROM.

Update: Thanks to jsen who was kind enough to share an intent to switch between 2G and 3G using Tasker and Gravity Box (that implies Xposed framework and rooting).

To avoid a dead link in future, the content of that Tasker hack is as below:

Send Intent [
Action: gravitybox.intent.action.CHANGE_NETWORK_TYPE
Cat: None
Mime Type:
Data:
Extra: networkType:1
Extra:
Package:
Class:
Target: Broadcast Receiver]

networkType enum values are: 
0: WCDMA Preferred 
1: GSM only <-- This would be "2G" on GSM networks
2: WCDMA only <--WCDMA is "3G" on GSM networks. You may know it as HSPA
3: GSM auto (PRL)
4: CDMA auto (PRL)
5: CDMA only <-- This would be "2G" on CDMA networks
6: EvDo only <-- EvDo is "3G" on CDMA networks
7: GSM/CDMA auto (PRL)
8: LTE/CDMA auto (PRL)
9: LTE/GSM auto (PRL)
10: LTE/GSM/CDMA auto (PRL)
11: LTE only
12: "unknown"

In my office, I have very bad 2G signal which drops my call very frequently. Hence I used to switch to 3G when I reach office. I created an entry task named "Enable 3G" and an exit task named "Enable 2G" which just sends intent as above. With Tasker's "Cell Near" state I can ask Tasker to enable 3G when I am near office and switch back to 2G while leaving.

share|improve this answer
    
Done! Thanks for the update: Now it fits 100%, as the Tasker part can do that automatically. You might wish to add that a Tasker task also can be used as shortcut on the homescreen for manual toggle, when needed. –  Izzy Sep 16 at 12:25

I've been looking for automated network switching for years, and I had always thought that this kind of behaviour was only possible using Cyanogen (or similar) ROMs. Anyway, I recently found some threads on XDA that suggest that this might not be true.

First, it seems that in Sony Devices it's possible to tweak the system to show a 2G/3G toggle:

http://www.xda-developers.com/android/serajr-power-toggles-brings-settings-to-the-small-app-world/

And there's also this other thread that shows you how to "open" any ROM (even stock) so 2G/3G switching is possible. I don't fully understand the process, but as far as I see it should even work with Tasker:

http://forum.xda-developers.com/showthread.php?t=1731187

All methods require rooting the phone, though, which I think is unavoidable.

share|improve this answer
    
If I get that right, the first one is limited to Sony devices – and the second requires to code, patch, and compile code of a system app. Not really fitted for end-users, unfortunately. –  Izzy Sep 11 at 11:32

You can create a shortcut with any autotouch automation application that does this and place shortcut on your home screen

share|improve this answer
2  
Sure I can solve it with any app that solves it, or with any solution that applies ;) Though the question no longer stands for me, answers need to be a little more precise to be helpful. Could you please name an example? As it is currently phrased, it cannot really count as an answer. –  Izzy Sep 11 at 11:25

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.