2016-12-17 14 views
0

시작하자마자 핫스팟을 만드는 앱을 만들고 있습니다. Android 7 Nougat이 출시 될 때까지이 기능이 잘 작동합니다. WifiApManager class을 사용하고 있습니다.프로그래밍 방식으로 안드로이드 7의 액세스 포인트 설정을 저장하는 방법

마찬가지로 모든 것이 완벽하게 작동하지만 API 25를 사용하면 핫스팟이 올바른 설정 (ssid, 비밀번호 등)으로 만들어지고 노트북이이를 인식하고 연결됩니다.

그러나 "인터넷 없음"이므로 데이터 교환이 발생하지 않습니다. 내가해야할 일은 전화 핫스팟 설정으로 이동하여 저장을 누르는 것입니다. 그것은 계속해서 돌아 서서 마침내 성공해야합니다.

이것이 안드로이드 버그인지 의도적인지 모르겠지만 이전 API에는 "저장"버튼이 없었습니다. 웹을 검색했지만 아무 것도 찾을 수 없습니다. 미리 감사드립니다. kEbO

답변

1
public static boolean setHotspotNameAndPassword(String newName,String password, Context context) { 
     try { 
      WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE); 
      Method getConfigMethod = wifiManager.getClass().getMethod("getWifiApConfiguration"); 
      WifiConfiguration wifiConfig = (WifiConfiguration) getConfigMethod.invoke(wifiManager); 
      wifiConfig.preSharedKey=password; 
      wifiConfig.SSID = newName; 

      Method setConfigMethod = wifiManager.getClass().getMethod("setWifiApConfiguration", WifiConfiguration.class); 
      setConfigMethod.invoke(wifiManager, wifiConfig); 
      return true; 
     } 
     catch (Exception e) { 
      e.printStackTrace(); 
      return false; 
     } 

저에게 맞습니다! 설정을 바꾸다.

하지만 Android 7.0 이상에서 핫스팟을 켜고 끌 수있는 방법을 찾을 수 없습니다.

+0

도움 주셔서 감사합니다. 나는 당신이 당신의 코드에서 보여준 것과 같은 방식으로 그것을합니다. 그것을 켜기 위해'Method method = mWifiManager.getClass(). getMethod ("setWifiApEnabled", WifiConfiguration.class, boolean.class);'문제는 나의 경우 핫스팟을 켜지 않고 IP를 옵트 인하는 것이다. 클라이언트. KEbO에 감사드립니다. – kEbO