我需要通过我的应用程序检查设备上的热点是否已打开?这个问题可能是重复的,参考链接为如何检测WiFi共享状态。
代码: Java
Method method = wifiManager.getClass().getDeclaredMethod("getWifiApState");
method.setAccessible(true);
int actualState = (Integer) method.invoke(wifiManager, (Object[]) null);
代码: Kotlin
fun getHotspotState(): String {
val wifiManager =
applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
val method: Method = wifiManager.javaClass.getMethod(
"getWifiApState"
)
method.isAccessible = true
val invoke = method.invoke(wifiManager)
println(invoke)
return invoke.toString();
}
实际状态应该是:
public static int AP_STATE_DISABLING = 10;
public static int AP_STATE_DISABLED = 11;
public static int AP_STATE_ENABLING = 12;
public static int AP_STATE_ENABLED = 13;
public static int AP_STATE_FAILED = 14;
希望这会对你有所帮助!