在Unity中的Android上启用/禁用Wifi

I33N

我试图在我的Android设备上从Unity启用或禁用Wifi。我试图做在论坛上发现的不同事情而没有成功。

如果我做:

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);
     }
}

我有一个错误,说那WIFI_SERVICE不存在。

如果我做:

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);
    }   
}

我有一个错误,说这setWifiEnabled不是一个函数,(如果我这样做也不能是静态函数CallStatic)。

我已manifest.xml正确合并,可以检查我是否拥有对应用程序管理器的所有权限。

我花了几个小时试图弄清楚该怎么做,但我被卡住了!

有人知道这样做的简单方法吗?

非常感谢你的帮助,

本杰明

程序员

根据Android Doc,也setWifiEnabledbool参数为参数也返回bool

您的第二个代码快要结束了。参数正确,但是无法提供返回类型。您将AndroidJavaObject而不是用作返回类型bool

在第二个代码中,只需将替换wifiManager.Call<AndroidJavaObject>("setWifiEnabled", false);wifiManager.Call<bool>("setWifiEnabled", false);

假设您已获得许可,则此方法应该起作用。给您的一个建议是将您的代码放在try catch子句中。如果您的Android函数调用中的内容为空或失败,这将防止某些怪异的行为。

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;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ruby(DEVICE)中以编程方式在Android中启用/禁用数据或WiFi?

来自分类Dev

在Android中为ListView禁用/启用滚动

来自分类Dev

启用和禁用Android中的日期

来自分类Dev

在Android中启用/禁用WebView的最佳做法

来自分类Dev

如何禁用和启用android ScrollView上的滚动?

来自分类Dev

以编程方式在Android设备上启用/禁用辅助功能设置

来自分类Dev

如何在Android设备上启用和禁用dm verity?

来自分类Dev

使用 Ionic 在 Android 上禁用/启用数据连接

来自分类Dev

Android:启用/禁用按钮

来自分类Dev

Android:启用/禁用按钮

来自分类Dev

在更改事件上启用jQuery日历中的禁用日期

来自分类Dev

如何在WPF中覆盖按钮上的启用/禁用外观

来自分类Dev

禁用后如何阻止wifi重新启用

来自分类Dev

Qt API 检查wifi是否启用/禁用

来自分类Dev

无法在Xubuntu上启用wifi

来自分类Dev

我需要android.permission.WRITE_SETTINGS来启用/禁用Wifi吗?

来自分类Dev

Android:如何为多个布局屏幕创建可重用的类以以编程方式启用/禁用Wifi

来自分类Dev

禁用按键上的启用按钮

来自分类Dev

在 radlistview 上启用/禁用滑动

来自分类Dev

Android:如何禁用键盘或仅启用EditText onClick中的数字

来自分类Dev

Android中的Edittext字段使用按钮启用和禁用

来自分类Dev

Android:如何禁用键盘或仅启用EditText onClick中的数字

来自分类Dev

Android checkboxpreference已禁用,即使已在XML中启用

来自分类Dev

在android的CheckBox的onclick中启用和禁用edittext

来自分类Dev

如何在android中启用/禁用按钮对象的drawable?

来自分类Dev

在 Appium for Android 中以编程方式启用/禁用飞行模式

来自分类Dev

Android Button禁用和启用

来自分类Dev

Android Checkbox启用和禁用

来自分类Dev

启用/禁用Android导航栏

Related 相关文章

  1. 1

    如何在ruby(DEVICE)中以编程方式在Android中启用/禁用数据或WiFi?

  2. 2

    在Android中为ListView禁用/启用滚动

  3. 3

    启用和禁用Android中的日期

  4. 4

    在Android中启用/禁用WebView的最佳做法

  5. 5

    如何禁用和启用android ScrollView上的滚动?

  6. 6

    以编程方式在Android设备上启用/禁用辅助功能设置

  7. 7

    如何在Android设备上启用和禁用dm verity?

  8. 8

    使用 Ionic 在 Android 上禁用/启用数据连接

  9. 9

    Android:启用/禁用按钮

  10. 10

    Android:启用/禁用按钮

  11. 11

    在更改事件上启用jQuery日历中的禁用日期

  12. 12

    如何在WPF中覆盖按钮上的启用/禁用外观

  13. 13

    禁用后如何阻止wifi重新启用

  14. 14

    Qt API 检查wifi是否启用/禁用

  15. 15

    无法在Xubuntu上启用wifi

  16. 16

    我需要android.permission.WRITE_SETTINGS来启用/禁用Wifi吗?

  17. 17

    Android:如何为多个布局屏幕创建可重用的类以以编程方式启用/禁用Wifi

  18. 18

    禁用按键上的启用按钮

  19. 19

    在 radlistview 上启用/禁用滑动

  20. 20

    Android:如何禁用键盘或仅启用EditText onClick中的数字

  21. 21

    Android中的Edittext字段使用按钮启用和禁用

  22. 22

    Android:如何禁用键盘或仅启用EditText onClick中的数字

  23. 23

    Android checkboxpreference已禁用,即使已在XML中启用

  24. 24

    在android的CheckBox的onclick中启用和禁用edittext

  25. 25

    如何在android中启用/禁用按钮对象的drawable?

  26. 26

    在 Appium for Android 中以编程方式启用/禁用飞行模式

  27. 27

    Android Button禁用和启用

  28. 28

    Android Checkbox启用和禁用

  29. 29

    启用/禁用Android导航栏

热门标签

归档