在我的Android应用程序中,它必须访问远程服务器以发送请求并接收响应以继续功能。
我需要澄清一下,在发送请求之前,我是否必须在两者都可用的情况下特别选择它应该是WIFI或移动(3G)互联网。我不确定ANDROID OS本身会选择其中最好的或者会在运行时给出异常。当我使用模拟器时,我无法测试它。想知道标准方式。
我可以通过以下代码检查它是否已连接WIFI或3G(移动)。如果我必须选择它应该是WIFI或MOBILE(3G)互联网,我发送请求之前想知道。非常感谢正确的指导。提前谢谢......
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo)
{
if (ni.getTypeName().equalsIgnoreCase("WIFI") && ni.isConnected())
{
Toast.makeText(getApplicationContext(), "Connected to Internet with WIFI", Toast.LENGTH_LONG).show();
}
if (ni.getTypeName().equalsIgnoreCase("MOBILE") && ni.isConnected())
{
Toast.makeText(getApplicationContext(), "Connected to Internet with 3G", Toast.LENGTH_LONG).show();
}
}
答案 0 :(得分:4)
我是否必须特别选择在可用的情况下应该是WIFI或移动(3G)互联网
操作系统处理此问题。如果有可用的已知和配置的WiFi接入点,Android将使用它。
更重要的是,你不能“自己选择”它。你得到操作系统给你的东西。
答案 1 :(得分:2)
这是事实。我只是想通过运行你的代码来验证这一点,所以我做了这个,结果是。
步骤:
结果: android选择wifi而不是移动(3g)