勾选上“USB互联网”再取消,之后数 据业务不能自动开启问题的解决。
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
1.通过USB线与连接PC,进入设置--无线和网络,勾选“USB互联网”,终端利用PC的网络进行上网;
2.取消“USB互联网”,查看数据业务或者wifi的状态;
[SOLUTION]
找到/php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks/base/core/java/android/net/UsbDataStateTracker.Java 这个文件进行如下修改:
1,添加成员变量:
private boolean mPreGPRSConnected = false;
private boolean mPreWifiConnected = false;
2,对reconnect函数进行修改
public boolean reconnect() {
Slog.d(TAG, "reconnect");
boolean retValue = false; //connected or expect to be?
setTeardownRequested(false);
WifiManager wifimgr = (WifiManager)mContext.getSystEMService(Context.WIFI_SERVICE);
mPreWifiConnected = wifimgr.isWifiEnabled();
wifimgr.setWifiEnabled(false);
checkNullmCm();
mPreGprsConnected = mCm.getMobileDataEnabled();
mCm.setMobileDataEnabled(false);
mCm.setUsbTethering(true);
return retValue;
}
3, 对teardown 函数进行修改:
public boolean teardown() {
setTeardownRequested(true);
Slog.d(TAG, "teardown");
checkNullmCm();
mCm.setUsbTethering(false);
WifiManager wifimgr = (WifiManager)mContext.getSystemService(Context.WIFI_SERVICE);
if(mPreWifiConnected) {
wifimgr.setWifiEnabled(true);
}
if(mPreGprsConnected) {
mCm.setMobileDataEnabled(true);
}
return true;
}
