Cambiar la configuración del punto de acceso de Android

Con el lanzamiento del nivel 26 de API, la funcionalidad principal de mi aplicación se rompió, lo que cambió la configuración del punto de acceso de los usuarios dentro de la aplicación. Para obtener y establecer esta configuración, estoy usando las siguientes funciones delWifiManager API oculta:getWifiApConfiguration ysetWifiApConfiguration.

Method getWifiApConfiguration = wifiManager.getClass().getMethod("getWifiApConfiguration");
getWifiApConfiguration.invoke(wifiManager);

Esto funciona con dispositivos anteriores a Android O, pero en esta versión me sale el siguiente error:

La aplicación no tiene permiso para leer o actualizar la configuración de WiFi Ap almacenada (uid = 10168)

Los permisos que he declarado en el manifiesto son:

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.NETWORK_STACK"/>
<uses-permission android:name="android.permission.TETHER_PRIVILEGED" />

¿Cómo puedo hacer esto con las últimas API?

Respuestas a la pregunta(1)

Su respuesta a la pregunta