Mus*_*laa 5 android ethernet wifi
如何知道我是否已连接到 Android 中的 WiFi 或以太网?在 Android 操作系统中,这会收到有关图标的通知

是否存在以编程方式了解它的方法?
小智 9
http://developer.android.com/training/basics/network-ops/managing.html
ConnectivityManager cm = (ConnectivityManager) getActivity().
getSystemService(context.CONNECTIVITY_SERVICE);
Run Code Online (Sandbox Code Playgroud)
然后你使用:
cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_ETHERNET
Run Code Online (Sandbox Code Playgroud)
或者:
cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI
Run Code Online (Sandbox Code Playgroud)
检查它是否在 Wifi 或以太网上。
希望有所帮助。
这够了吗?
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo Wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (Wifi.isConnected()) { return true; }
Run Code Online (Sandbox Code Playgroud)
此外,要获取 wifi 详细信息:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
return wifiInfo.getSSID()
Run Code Online (Sandbox Code Playgroud)
谢谢大家
只是为了避免异常(无网络情况)。我分享我测试过的代码。
private Boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting();
}
public Boolean isWifiConnected(){
if(isNetworkAvailable()){
ConnectivityManager cm
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return (cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI);
}
return false;
}
public Boolean isEthernetConnected(){
if(isNetworkAvailable()){
ConnectivityManager cm
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return (cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_ETHERNET);
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6503 次 |
| 最近记录: |