目前,我有一个与WiFi配合工作的应用程序,但是当我切换到移动网络时,我的应用程序无法正常工作。我已经维护了一个后台服务来检查网络,但是我不知道如何处理网络从WiFi切换到移动网络以及从移动网络切换到WiFi的情况。因为WiFi已经启用,而且我不在WiFi覆盖范围内,所以我不知道如何处理从WiFi到移动网络的切换;在这种情况下,我希望能够自动切换到移动网络,反之亦然。我的方法如下,但并未奏效:
String networkStatus = "disconnected";
int netType = 0;
try{
ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectivityManager != null ){
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if(networkInfo != null){
netType = networkInfo.getType();
Log.d("Log", "connetion is available");
}else {
Log.d("Log", "connetion is not available");
return networkStatus;
}
// if(networkInfo.isAvailable()){ // Old one
if(networkInfo.isAvailable() && networkInfo.isConnected()){ // New change added here
if(netType == ConnectivityManager.TYPE_WIFI)
{}
else if(netType == ConnectivityManager.TYPE_MOBILE )
{}
}
}
}catch(Exception e){
Log.d("Log", "checkNetworkConnection" + e.toString());
return networkStatus;
}
我已经在这里阅读了很多帖子,但仍然没有想法。是否有人可以给我任何想法或url,以便我可以获得相同的实现方法?
提前致谢。