简短的问题:我想检查个人热点功能是否已打开
我目前正在构建一个客户端/服务器应用程序。我想知道我的手机(例如Android(是否激活了系绳连接(个人热点(,因为我的服务器可以连接到它。
由于这个答案,我找到了如何检测 wifi 连接 Unity 检查互联网连接可用性,但这不会检测到我是否正在使用系绳连接。
你知道怎么做吗?
谢谢大家!
ps :我不需要知道我是否有互联网连接,只需系绳wifi工作
所以你想检查个人热点功能是否打开了? 这仅允许您确定其他设备是否可以使用您的设备连接到互联网。 若要从设备上的 Android 应用中执行此操作,请使用如下所示的 WiFiManager
类。
您想判断某些东西是否真的连接到热点吗?如果是这样,您可以查看此源(特别是在 getClientList
方法中(以检查连接的客户端。
你提到了一个服务器。 您是否尝试在台式机/笔记本电脑上运行服务器,然后将其连接到设备上的个人热点,然后让移动应用程序连接到桌面上的某个服务器? 如果是这样,您还需要考虑其他事项。
感谢wottle链接和帮助,我设法找到了解决方案
public bool isWifiApEnabled()
{
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>("isWifiApEnabled");
}
}
catch (System.Exception e)
{
}
}
return false;
}