Android 3G 4G 切换检查 April 28, 2014 app启动 // 注册phone state listener TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); tm.listen(pslistener, PhoneStateListener.LISTEN_DATA_ACTIVITY | PhoneStateListener. LISTEN_DATA_CONNECTION_STATE ); app退出 // 取消注册 TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); tm.listen(pslistener, PhoneStateListener.LISTEN_NONE ); EgamePhoneStateListener.java public class EgamePhoneStateListener extends android.telephony.PhoneStateListener { String lastToast = ""; @Override public void onDataConnectionStateChanged(int state, int networkType) { super.onDataConnectionStateChanged(state, networkType); if (state == TelephonyManager.DATA_CONNECTED && networkType == 13) { toast("已进入4G网络"); } else { toast("已离开4G网络"); } } public void toast(String tstr) { if( tstr != null && !lastToast.equals(tstr) && Egame4gApplication.instance != null ) { lastToast = tstr; ToastUtils.showToast(Egame4gApplication.instance, lastToast); } } }