아래 코드들은 구글에서 찾아낸 코든데요
import static android.net.wifi.WifiManager.WIFI_STATE_DISABLED;
import static android.net.wifi.WifiManager.WIFI_STATE_DISABLING;
import static android.net.wifi.WifiManager.WIFI_STATE_ENABLED;
import static android.net.wifi.WifiManager.WIFI_STATE_ENABLING;
import static android.net.wifi.WifiManager.WIFI_STATE_UNKNOWN;
위의 소스는 import가 제대로 되는데
아래 소스는 컴파일 에러가 납니다.
WifiManager에 아래 값이 정의되있지 않은거같은데 어떻게 해결하면 좋을까요?
import static android.net.wifi.WifiManager.WIFI_AP_STATE_DISABLED;
import static android.net.wifi.WifiManager.WIFI_AP_STATE_DISABLING;
import static android.net.wifi.WifiManager.WIFI_AP_STATE_ENABLED;
import static android.net.wifi.WifiManager.WIFI_AP_STATE_ENABLING;
import static android.net.wifi.WifiManager.WIFI_AP_STATE_FAILED;
개발에 사용하고 있는 API는 GoogleAPI4.1입니다.

android.net.wifi.WifiManager.WIFI_AP_STATE_DISABLED;
android.net.wifi.WifiManager.WIFI_AP_STATE_DISABLING;
android.net.wifi.WifiManager.WIFI_AP_STATE_ENABLED;
android.net.wifi.WifiManager.WIFI_AP_STATE_ENABLING;
android.net.wifi.WifiManager.WIFI_AP_STATE_FAILED;
이 값들은 hide 되어 있습니다. 소스상에는 존재하나 sdk에는 빠져 있죠.
개발자가 사용못합니다.
그리고 import static이라는 문법은 없죠.
import static이 왜 없다고 하시는지요?
import static java.lang.System.out; 을 하면
System.out.println() 함수를 out.println() 처럼
상위 클래스를 적지 않고 바로 사용이 가능한데요.
[출처] [자바] 스태틱 임포트 static import|작성자 카루
그리고
import static android.net.wifi.WifiManager.WIFI_STATE_DISABLED;
import static android.net.wifi.WifiManager.WIFI_STATE_DISABLING;
import static android.net.wifi.WifiManager.WIFI_STATE_ENABLED;
import static android.net.wifi.WifiManager.WIFI_STATE_ENABLING;
import static android.net.wifi.WifiManager.WIFI_STATE_UNKNOWN;
이 문장은 에러가 없는데 그렇다면 이 값들은 Hide 되있지 않다는 말씀이신가요?
네 소스를 살펴봤는데 아래 값들은 모두 정의가 되있더라고요
WIFI_STATE_DISABLED;
WIFI_STATE_DISABLING;
WIFI_STATE_ENABLED;
WIFI_STATE_ENABLING;
WIFI_STATE_UNKNOWN;
WIFI_AP_STATE_DISABLED;
WIFI_AP_STATE_DISABLING;
WIFI_AP_STATE_ENABLED;
WIFI_AP_STATE_ENABLING;
WIFI_AP_STATE_FAILED;
다만 아래 코드는 에러가 나는걸 보니, 말씀하신대로 SDK에 포함이 되있지 않은거같네요
import static android.net.wifi.WifiManager.WIFI_AP_STATE_DISABLED;
import static android.net.wifi.WifiManager.WIFI_AP_STATE_DISABLING;
import static android.net.wifi.WifiManager.WIFI_AP_STATE_ENABLED;
import static android.net.wifi.WifiManager.WIFI_AP_STATE_ENABLING;
import static android.net.wifi.WifiManager.WIFI_AP_STATE_FAILED;
제가 궁금한건 소스에는 포함시켜놓고 SDK에는 왜 제외시켰는지와
제가 발췌한 소스를 올린 사람은 에러없이 실행을 했을텐데 어떻게 한건지가 궁금하네요

WIFI_AP_STATE_DISABLED;
WIFI_AP_STATE_DISABLING;
WIFI_AP_STATE_ENABLED;
WIFI_AP_STATE_ENABLING;
WIFI_AP_STATE_FAILED;
소스 보셧다면 알겠네요. 위의 값에서 주석으로 @hide 처리 되어있죠.
이것은 실제 sdk에는 빠지고 OS 작업하는 제조사나
그런 제조사의 도움으로 preload 되는 앱을 제작할 때 사용되는 용도 입니다.
범용적으로 대부분의 안드로이드 단말에서 돌아가야하는 서드파티 앱에서는 사용못합니다.
단말마다 환경이 다를 수 있기 때문이죠. 제조사에서 @hide를 제거하고 빌드해서 사용하게 할 수도 아닐 수도 있으니까요.
이 부분은 http://www.androidpub.com/32124 여기를 보셔두 되구요
구글에서 android @hide만 검색해도 여러 게시물이 있습니다.
import android.net.wifi.WifiManager;
라고 하신 후
... WifiManager.WIFI_AP_STATE_XXX;
이렇게 사용하시면 됩니다.
자바 기초입니다.