简体   繁体   English

连接wifi时启动3g

[英]Start 3g when wifi is connected

i want to make 3g works when wifi is enabled! 我想在启用wifi时使3g正常工作! Stop for a while wifi and connect through 3g. 停一会儿wifi并通过3g连接。 after that close 3g and work with wifi again! 之后关闭3g并再次使用wifi! thanks! 谢谢!

Just disabling Wi-Fi? 只是禁用Wi-Fi? Both processes are automatic: connecting a Wi-Fi network when it is enabled and getting 3G when there isn't a Wi-Fi connection. 这两个过程都是自动的:启用Wi-Fi网络后连接它,而没有Wi-Fi连接则获得3G。

I don't think it is possible to switch to mobile data network when WiFi is enabled. 我认为启用WiFi时无法切换到移动数据网络。 Perhaps you should silently disable the WiFi (from code) and wait for the 3G network to establish. 也许您应该从代码中静默禁用WiFi,然后等待3G网络建立。 Once your required task is done, turn the WiFi on again and your 3G network will be disconnected. 完成所需的任务后,再次打开WiFi,您的3G网络将断开连接。

I think the following should work... 我认为以下应该起作用...

WifiManager wm = null;
WifiManager.WifiLock wfl = null;

// To disable wi-fi
wm = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
if (wm != null) {
    wfl = wm.createWifiLock(WifiManager.WIFI_MODE_SCAN_ONLY, "myWifiLock");
    Boolean result = wm.setWifiEnabled(false);
    Log.d(TAG, "wm.setWifiEnabled(false) result: " + result);
}

// To re-enable wi-fi
if (wfl != null)
    wfl.release();
if (wm != null) {
    Boolean result = wm.setWifiEnabled(true);
    Log.d(TAG, "wm.setWifiEnabled(true) result: " + result);
}

here is a code that can enable and dissable inside your code! 这是一个可以在您的代码内部启用和禁用的代码!

  wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);                   

              Runnable runnable = new Runnable() {

              // ginetai o kwdikas gia to anoigma kai to klisimo tou wifi   
                  @Override
                  public void run() {


                    //  new LongOperation().execute();
                    for (int i = 0; i <= 150; i++) {

                      try {

                        Thread.sleep(1000);

                        if (i >= 0 && i <18){

                            wifi.setWifiEnabled(true);
                        //  wifi.setWifiEnabled(false);// Disabling WiFi


                          }

                          else if (i>= 18 && i < 40){

                        wifi.setWifiEnabled(true); 
                      //    wifi.setWifiEnabled(false); // Enabling WiFi


                          }

                          else if (i>= 40 && i < 58){

                    //      wifi.setWifiEnabled(true); // Disabling WiFi
                        wifi.setWifiEnabled(false);

                          }

                          else if (i>= 58 && i < 78){

                            wifi.setWifiEnabled(true);
                        //wifi.setWifiEnabled(false); // Enabling WiFi


                          }

                          else{

                        //  wifi.setWifiEnabled(true);
                            wifi.setWifiEnabled(false);// Disabling WiFi


                          }

                      } catch (InterruptedException e) {
                        e.printStackTrace();
                      }


                    }
                  }
                };
                new Thread(runnable).start();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM