gpt4 book ai didi

java - Android getActiveNetwork 总是返回 null

转载 作者:行者123 更新时间:2023-12-05 05:19:44 27 4
gpt4 key购买 nike

我正在使用 Unity 和 Tango SDK 开发 Tango 应用程序,但是,我需要能够检查设备的 Wifi 连接并相应地连接到 Wifi 网络。

考虑到这一点,我开始研究 Android Unity 网络插件,但我在检查设备的连接性时遇到了麻烦;即使 Wifi 已打开并且设备确实已连接到 Wifi 网络,getActiveNetwork 仍会返回 null。

我花了几天时间寻找解决方法或替代实现,但找不到任何有效的方法,下面是我在浏览了许多 Android 连接相关问题后最终用于执行检查的代码我查看了,以及我在 Manifest 中使用的所有权限。

(我想指出的是,我目前返回一个整数作为通过 Unity C# 脚本调用时快速调试函数的一种方式,现在函数总是返回 0。)

 public int IsConnectedToWifi(){

//SCCActivity activity = new SCCActivity();
ConnectivityManager cm = (ConnectivityManager) this.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
if(cm == null) return -2;
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();


if (activeNetwork != null) { // connected to the internet
if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
// connected to wifi
DebugToast(activeNetwork.getTypeName());
return 1;
//return activeNetwork.isConnected();
} else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
// connected to the mobile provider's data plan
DebugToast(activeNetwork.getTypeName());
return 2;
//return false;
}
}
else {
DebugToast("There is no active Network");
return 0;
//return false;
}

DebugToast("Failed to get a Connectivity Manager");
return -1;
//return false;
}

在 AndroidManifest 文件中:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

如果有任何建议或指导,我将不胜感激,谢谢。

最佳答案

我有点老了,但也许它对某人有帮助。在我的例子中,当我更改 ma​​nifestpermissions 的顺序时,ACCESS_NETWORK_STATE 在 INTERNET 之前,然后它工作

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

奇怪但有效

关于java - Android getActiveNetwork 总是返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45581285/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com