2016-09-30 57 views
0

アプリの起動時にインターネットにアクセスできないWiFiホットスポット(オープンネットワーク)に接続しようとしています。インターネットに接続していないWiFiに接続する

しかし、インターネットを持つ別の保存された無線LANがあります。 Wi-Fiをオンにすると、インターネットに接続されている端末に自動的に接続されます。

私は1週間ほどこの問題を修正しようとしています!しかし、何も働いていません。実際、私のコードはインターネットとのネットワーク接続を切断しますが、私が望むネットワークには接続しません。それは意味をなさない。

WiFi設定アクティビティでは、「インターネットは検出されません。自動的に再接続しません」と表示されます。

private boolean tryConnect(WifiManager wifiManager, List<ScanResult> scanResults) { 
    for (ScanResult scanResult : scanResults) { 
     Log.d(TAG, "SCAN-RESULT: " + scanResult); 
     if (scanResult.SSID.toLowerCase().contains(MainActivity.ARDRONE2_HOTSPOT_NAME) && WifiUtilities.getScanResultSecurity(scanResult) == WifiUtilities.NetworkSecurity.OPEN) { 
      Log.d(TAG, "Trying Connecting to ARDrone2"); 
      WifiConfiguration wifiConfiguration = new WifiConfiguration(); 
      wifiConfiguration.SSID = String.format("\"%s\"", scanResult.SSID); 
      wifiConfiguration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 
      wifiConfiguration.priority = Integer.MAX_VALUE - 1; 
      List<WifiConfiguration> wifiConfigList = wifiManager.getConfiguredNetworks(); 
      int networkId = -1; 
      for (WifiConfiguration wifiConfig : wifiConfigList) { 
       if (wifiConfig != null) { 
        if (wifiConfig.SSID.equals("\"" + scanResult.SSID + "\"")) { 
         networkId = wifiConfig.networkId; 
        } else { 
         wifiManager.disableNetwork(wifiConfig.networkId); 
        } 
       } 
      } 
      if (networkId == -1) { 
       networkId = wifiManager.addNetwork(wifiConfiguration); 
      } else { 
       networkId = wifiManager.updateNetwork(wifiConfiguration);; 
      } 
      wifiManager.saveConfiguration(); 
      wifiManager.disconnect(); 
      wifiManager.enableNetwork(networkId, true); 
      wifiManager.reconnect(); 
      return true; 
     } 
    } 
    return false; 
} 

デバッグログ:「ARDrone2に接続しようとしています」というメッセージが表示されますが、接続できません。

Android, automatically connecting to wifi networks that have no internet accessと同様の質問がありましたが、コメントや回答はありませんでした。

+0

なぜダウン票???! – user640853

答えて

1

私の電話で問題が発生したようです。私はCM13.0を持っており、明らかに彼らはインターネットにアクセスできないネットワークへの接続を許可していません。インターネットを使わずにネットワークに手動で接続することも大変です。

私は非カスタムROMを持つ他の携帯電話でそれを試してみましたが、期待どおりすべてが上記のコードに応じて働いていた:現在接続してから切断

  • (これが改善される可能性が)保存されたすべてのネットワークを

    1. を無効にしますネットワーク
    2. ARDrone2に接続
  • 関連する問題