How to turn on/off wifi hotspot programmatically in Android 8.0 (Oreo)

前端 未结 3 2093
梦毁少年i
梦毁少年i 2020-11-27 05:38

I know how to turn on/off wifi hot spot using reflection in android using below method.

private static boolean changeWifiHotspotState(Context context,boolean         


        
3条回答
  •  醉梦人生
    2020-11-27 06:33

    I thought the LocalOnlyHotspot route was the way to, but as @edsappfactory.com said in the comments - it only gives closed network, no internet access.

    In Oreo hot-spotting/tethering moved to ConnectionManager, and its annotated @SystemApi, so (nominally) inaccessible.

    As part of something else I was doing, I made an app and put it on github here. It uses reflection to get at the function and DexMaker to generate a subclass of ConnectionManager.OnStartTetheringCallback (which is also inaccessible).

    Think it all works okay - bit rough around the edges, so please feel free to make better!

    Relevant bits of code are in:

    • MyOreoWifiManager and;
    • CallbackMaker

    I lost patience trying to get my DexMaker-generated callback to fire the MyOnStartTetheringCallback so all that code is in disarray and commented out.

提交回复
热议问题