使用连接管理器很容易看到是否有连接,但如果同时连接以太网和WIFI,它似乎总是报告WIFI已连接。
我想知道我是否有连接,还有具体的连接方式。例如。以太网?以太网和WIFI?仅限WIFI?什么?
这在Android中可行吗?
我有一个需要首选以太网的应用程序(此时需要禁用WIFI),但如果以太网不可用(作为备份),则使用WIFI。
我可以让它在网络变更事件上工作,但不能在应用启动时连接两者 - 在这种情况下,它不知道断开WIFI。
编辑并不是问题的真正解决方案,但我已经解决了这个问题,主要是关闭WIFI以检查以太网,然后重新打开它(如果它已打开)之前)。不理想,但就我所知,它是唯一的选择。
答案 0 :(得分:0)
检查
void chkStatus() {
final ConnectivityManager connMgr = (ConnectivityManager)
this.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifi.isConnectedOrConnecting ()) {
Toast.makeText(this, "Wifi", Toast.LENGTH_LONG).show();
} else if (mobile.isConnectedOrConnecting ()) {
Toast.makeText(this, "Mobile 3G ", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "No Network ", Toast.LENGTH_LONG).show();
}
}