2016-09-27 8 views
2

인터넷에 연결되지 않은 WiFi 네트워크에 연결하는 데 사용하는 앱이 있습니다. 그것은 Nougat 이전 버전에서 잘 작동했습니다. 몇 주 전에 누그 (Nougat)로 전화를 업그레이드 한 이후 더 이상 동일한 WiFi 네트워크에 연결할 수 없습니다. 잠시 연결되고 연결이 끊어진 다음 인터넷에 연결된 이전 네트워크로 롤백됩니다. 아래는 Nougat 이전에 잘 작동하는 코드입니다. manager.enableNetwork (참 config.networkId)에서 진정한 설정 과거 Android Nougat 이후 더 이상 Wi-Fi 네트워크에 연결할 수 없습니다.

WifiManager manager = (WifiManager) activity.getSystemService(Context.WIFI_SERVICE); 
WifiConfiguration selectedConfig = new WifiConfiguration(); 
selectedConfig.SSID = ssid; 
selectedConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 
manager.addNetwork(selectedConfig); 

List<WifiConfiguration> cofigs = manager.getConfiguredNetworks(); 
for(WifiConfiguration config : cofigs) 
{ 
    if(config.SSID != null && config.SSID.equals(selectedConfig.SSID)) 
    { 
     manager.disconnect(); 
     manager.enableNetwork(config.networkId, true); 
     break; 
    }   
} 

는 연결이 인터넷에 연결되어 있지 않은 네트워크에 머물 수 있도록 보였다. 그러나 누가 (Nougat) 이후에는 더 이상 작동하지 않는 것 같습니다.

누가 무슨 일이 벌어지고 어떻게 작동시키는 지 알고 있습니까?

감사합니다.

답변

0

enableNetwork 메서드의 부울 매개 변수는 다른 네트워크를 차단하는 것입니다. 실제로 장치에 특정 네트워크에 연결하도록 지시 할 방법이 없습니다. 다른 네트워크를 차단하는 것만 가능합니다. 장치가 연결해야하는 유일한 옵션은 비활성화하지 않았습니다 (첫 번째 매개 변수에있는 ID를 가진 것).

addNetwork에서 반환되는 내용을 확인하고이 Google 문제 Google issue을 확인하는 것이 좋습니다.

그래도 문제가 해결되지 않으면 다른 곳에서 스캔 중인지 확인하십시오. 사용 가능한 네트워크를 검색하면 장치가 다른 네트워크를 활성화하므로 다른 장치는 더 이상 비활성화되지 않고 장치가 처음에 있던 장치 또는 더 높은 우선 순위의 장치에 연결됩니다.

희망했다.