我知道如何使用以下方法在android中使用反射來開啓/關閉wifi熱點。如何在Android 8.0(Oreo)中以編程方式打開/關閉wifi熱點
private static boolean changeWifiHotspotState(Context context,boolean enable) {
try {
WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
Method method = manager.getClass().getDeclaredMethod("setWifiApEnabled", WifiConfiguration.class,
Boolean.TYPE);
method.setAccessible(true);
WifiConfiguration configuration = enable ? getWifiApConfiguration(manager) : null;
boolean isSuccess = (Boolean) method.invoke(manager, configuration, enable);
return isSuccess;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
但上述方法不適用於Android 8.0(奧利奧)。
當我在Android 8.0中執行上面的方法時,我在logcat中獲得了下面的語句。
com.gck.dummy W/WifiManager: com.gck.dummy attempted call to setWifiApEnabled: enabled = true
是否有任何其他的方式,在Android 8.0
是否要關閉wifi或熱點 – MrAppMachine
我想打開/關閉熱點...不是wifi ... – Chandrakanth
是否有可能他們刪除了這種方式在Android O ?打開wifi熱點不是Android SDK的一部分。因此,這種方式使用反射是有點hacky – Rafa