I think that TelephonyManager.isNetworkRoaming() is connected with 2G, regardless of whether NetworkInfo.isRoaming() 3G related - setting / moving data in roaming is an excellent parameter in android settings, so if it's possible, you are all equally you can get true for GSM ( TelephonyManager.isNetworkRoaming() )
source share