在開發之中我們可能需要實現關閉個人熱點的功能 ,下面的代碼是原來項目中的一個功能,但是在高版本的android中不起作用,查找了資料之後將我關閉個人熱點的方法分享給大家.
/**
* 8.0 之後用於關閉個人熱點
* */
public void stopTethering() {
try {
ConnectivityManager manager = (ConnectivityManager) mContext.getApplicationContext().getSystemService(ConnectivityManager.class);
Method method = manager.getClass().getDeclaredMethod("stopTethering", int.class);
if (method == null) {
} else {
method.invoke(manager, 0);
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
}
public void closeWifiAp() {
try {
mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
Method method2 = mWifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
method2.invoke(mWifiManager, null, false);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
stopTethering();
}