c# - Enable/Disable Wifi on Android in Unity -


i trying enable or disable wifi unity on android device. tried different things found on forum without success.

if do:

using(var unityplayer = new androidjavaclass("com.unity3d.player.unityplayer")) {      string wifiservicename = unityplayer.get<string>("wifi_service");      using(var wifimanager = unityplayer.call<androidjavaobject>("getsystemservice", wifiservicename))      {          wifimanager.call("setwifienabled", false);      } } 

i have error saying wifi_service doesn't exist.

if do:

using (androidjavaobject activity = new androidjavaclass("com.unity3d.player.unityplayer").getstatic<androidjavaobject>("currentactivity")) {     using (var wifimanager = activity.call<androidjavaobject>("getsystemservice","wifi"))     {         wifimanager.call<androidjavaobject>("setwifienabled", false);     }    } 

i have error saying setwifienabled not function, (nor static function if callstatic).

i have manifest.xml correctly merged, can check have permissions on application manager.

i spent few hours trying figure out how , stuck!

does know simple way so?

thanks lot help,

benjamin

according android doc, setwifienabled takes bool parameter , returns bool too.

your second code close. got parameter right failed provide return type. put androidjavaobject return type instead of bool.

in second code, replace wifimanager.call<androidjavaobject>("setwifienabled", false); wifimanager.call<bool>("setwifienabled", false);.

this should work, assuming have permission in place. 1 advice put code in try catch clause. prevent weird behavior if null or failed in android function calls.

public bool setwifienabled(bool enabled) {     using (androidjavaobject activity = new androidjavaclass("com.unity3d.player.unityplayer").getstatic<androidjavaobject>("currentactivity"))     {         try         {             using (var wifimanager = activity.call<androidjavaobject>("getsystemservice", "wifi"))             {                 return wifimanager.call<bool>("setwifienabled", enabled);             }         }         catch (exception e)         {         }     }     return false; }  public bool iswifienabled() {     using (androidjavaobject activity = new androidjavaclass("com.unity3d.player.unityplayer").getstatic<androidjavaobject>("currentactivity"))     {         try         {             using (var wifimanager = activity.call<androidjavaobject>("getsystemservice", "wifi"))             {                 return wifimanager.call<bool>("iswifienabled");             }         }         catch (exception e)         {          }     }     return false; } 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -