Bal*_*ake 4 networking android wifi 3g
现在,我正在使用适用于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;
}
Run Code Online (Sandbox Code Playgroud)
我已经阅读了许多帖子,听到仍然没有想到.任何人都可以给我任何想法或网址,我可以在哪里实现相同的方法?
提前致谢.
我得到了解决方案:
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8118 次 |
| 最近记录: |