Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android互联网接入:WIFI还是3G_Java_Android_Mobile_Android Intent_Android Service - Fatal编程技术网

Java Android互联网接入:WIFI还是3G

Java Android互联网接入:WIFI还是3G,java,android,mobile,android-intent,android-service,Java,Android,Mobile,Android Intent,Android Service,在我的android应用程序中,它必须访问远程服务器才能发送请求并接收响应,才能继续该功能 我需要澄清,在发送请求之前,我是否必须特别选择WIFI或移动(3G)互联网,如果两者都可用。我不确定ANDROID操作系统本身是否会选择其中最好的,或者在运行时是否会出现异常。我无法测试它,因为我正在使用emulator。我想知道标准的方法 我可以通过以下代码检查它是否连接了WIFI或3G(移动)。在发送请求之前,我想知道我是否必须选择WIFI或移动(3G)互联网。我们高度赞赏适当的指导。先谢谢你

在我的android应用程序中,它必须访问远程服务器才能发送请求并接收响应,才能继续该功能

我需要澄清,在发送请求之前,我是否必须特别选择WIFI或移动(3G)互联网,如果两者都可用。我不确定ANDROID操作系统本身是否会选择其中最好的,或者在运行时是否会出现异常。我无法测试它,因为我正在使用emulator。我想知道标准的方法

我可以通过以下代码检查它是否连接了WIFI或3G(移动)。在发送请求之前,我想知道我是否必须选择WIFI或移动(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();
       }
   }
我是否必须特别选择WIFI或移动(3G)互联网,在两者都可用的情况下

操作系统处理这个问题。如果已知并配置了WiFi接入点,Android将使用它

更重要的是,你不能自己“选择”它。你得到了操作系统给你的。


操作系统处理这个问题。如果已知并配置了WiFi接入点,Android将使用它。 这是真的。我只是想通过运行您的代码来验证这一点,所以我这样做了,结果是

步骤:

  • 确保Wifi已打开并已连接
  • 确保移动(3G)网络已打开
  • 执行上面的代码
  • 结果:
    android选择wifi而不是移动(3g)

    感谢Commonware。。。如果安卓操作系统能够处理这个问题,那就好了。我想知道是否会出现例外情况。。谢谢我会继续。。。