【发布时间】:2020-04-10 14:11:49
【问题描述】:
我的项目是使用旧的 USB 网络摄像头和 Raspberry Pi 制作后视摄像头。
我将摄像头插入 pi 并使用“motion”,当我与 Pi 位于同一网络时,我可以使用浏览器 (http://<ip-address>:8081) 访问实时视频。
为此,我将我的 Pi 设置为 wifi 热点,以便与我的手机在同一个网络中访问视频。
但是:在我使用 Android Studio 创建一个应用程序后,使用 WebView 打开视频链接,当启用移动数据时,我会收到一个ERR_CONNECTION_REFUSED。因为如果没有检测到互联网连接,则不会使用 Wifi 网络。
我不想在每次使用时手动禁用它,我希望应用程序使用仅 Wi-Fi。
我设法使用此代码自动连接到 pi WiFi:
WifiNetworkSpecifier specifier = new WifiNetworkSpecifier.Builder()
.setSsid("Wifi-Fourcon")
.setWpa2Passphrase("1234567890")
.build();
final NetworkRequest request = new NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI) // we want WiFi
.setNetworkSpecifier(specifier) // we want _our_ network
.build();
ConnectivityManager connectivityManager = (ConnectivityManager)this.getSystemService(CONNECTIVITY_SERVICE);
connectivityManager.requestNetwork(request,
我尝试添加
.removeTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
但结果相同。
我还尝试使用
禁用移动数据setMobileDataEnabled()
但是我们不能再使用这种方法了..
【问题讨论】:
-
看我的回答,你能确认问题是wifi没有提供互联网连接,因此webview没有通过wifi加载吗?
标签: android android-wifi android-networking