简短问题:我想检查个人热点功能是否已开启
我目前正在构建客户端/服务器应用程序。我想知道我的手机(例如Android)是否已激活系绳连接(个人热点),因为我的服务器可以连接到它。
由于这个答案Unity check internet connection availability,我找到了如何检测wifi连接但是这并没有检测到我是否正在使用系绳连接。
你知道吗?
谢谢大家!
ps:我不需要知道我是否有互联网连接,只需要连接无线网络
答案 0 :(得分:1)
因此,您要检查个人热点功能是否已打开?这样只会让您确定其他设备是否可以使用您的设备连接到互联网。要在设备上的Android应用中执行此操作,您可以使用显示为here的WiFiManager
类。
您想知道某些内容是否实际连接到热点?如果是这样,您可以查看this source(特别是getClientList
方法)以检查已连接的客户端。
你提到了一台服务器。您是否尝试在台式机/笔记本电脑上运行服务器,然后将其连接到设备上的个人热点,然后将移动应用程序连接到桌面上的某个服务器?如果是这样,您还需要考虑其他事项。
答案 1 :(得分:0)
感谢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;
}