问题标签 [android-connectivitymanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
354 浏览

java - 指定仅使用 wifi 时,ConnectivityManager 网络为空

我正在尝试通过 ConnectivityManager 存储 wifi 网络(最终是蜂窝网络),以便稍后在我的程序中使用,以便同时通过本地 Wifi 或蜂窝网络发送数据。我已经关注了这篇文章(让 Android 同时使用 WiFi 与设备通信和移动数据与服务器通信?以及在 Android 上连接 WIFI 后如何通过移动网络保持连接?)尝试让它运行。但是mWifiNetwork为空。使用调试模式,当 '''onAvailable''' 方法完成时,变量会显示为空值mWifiNetwork"108"不知道为什么变量没有正确存储网络。

我创建了一个在 onResume 中调用的类 forceWifiNetwork

forceWifiNetwork.java

onResume(在 MainActivity.java 中)

我目前在AndroidManifest.xml中也有这些权限

0 投票
3 回答
783 浏览

android - 如何知道我的手机使用的互联网连接类型

我想知道我的手机使用的互联网连接类型(蜂窝或 wifi)。

一条错误消息说:

(尝试在空对象引用上调用虚拟方法“booleanandroid.net.NetworkCapabilities.hasTransport(int)”)。

0 投票
3 回答
9343 浏览

android - Android 10 / API 29:如何将手机连接到配置的网络?

我正在开发一个用户必须遵循以下步骤的应用程序:

  1. 将手机连接到wifi;
  2. 将手机从连接对象连接到专用热点。

当用户连接到连接对象的专用热点时,应用程序会执行一些 HTTP 请求以对其进行配置。然后,我想将应用程序自动重新连接到步骤 1 的全局 wifi。

从 API 21 到 API 28,这个功能很容易实现,因为我知道我也想重新连接手机的 SSID。只需几行代码即可完成:

根据这篇文章,在 API 29 上这个简单的代码不再起作用:https ://developer.android.com/about/versions/10/privacy/changes#configure-wifi

根据文章,现在,我应该使用 2 个类:WifiNetworkSpecifier和/或WifiNetworkSuggestion.

不幸的是,我找不到使用这些类来将用户连接到以前配置的 SSID 的工作示例。

有人已经做到了吗?

预先感谢您的帮助。

0 投票
2 回答
661 浏览

android - Android:监听互联网连接变化并在 webView 中加载 URL On connected

我对android开发很陌生,所以对于非常基本的问题提前抱歉。

在我的应用程序开始时,我想检查网络是否可用并已连接,如果是,则加载 webView 并加载 URL。这是一个简单的部分,我做到了。

现在,如果在应用程序启动时没有网络可用,我希望用户通过单击按钮(也已完成)连接到互联网,一旦连接,setContentView 到 webView 并加载 URL(大难题)。

我在这里找到了下面的代码,但我不知道如何使用它或将它放在哪里。

我的代码如下:

0 投票
0 回答
143 浏览

cordova - 带有ConnectivityManager的cordova android应用程序中的错误

嗨cordova和android大师)我是“cordova开发”的新手。我在cordova上构建了android应用程序。我的应用程序可以使用 com.megster.cordova.FileChooser 插件打开文件。但由于 8 月应用程序在选择和打开文件时出现错误(android 设备上 FS 中的文件存储)。在 AndroidStudio 的 logcat 中,我有警告:

我现在不知道该怎么办。我已经更改了cordova的版本,android平台的版本并更改了其他文件选择器插件,但这无济于事。现在我的科尔多瓦版本 8.1.2,安卓版本 7.1.4。有人遇到过这样的问题吗?

0 投票
1 回答
699 浏览

java - Android ConnectivityManager NetworkCallback 崩溃

我是 Android 世界的新手(作为用户也是开发人员),我的 Android 应用程序在执行时崩溃myWebView.loadUrl("https://www.google.com"),但我不明白为什么......

目标是在应用程序运行时监控互联网连接:如果连接丢失 -> 在 web 视图中加载错误 html 如果连接返回活动 -> 重新加载 web 视图

这是我的应用程序代码:

显现

主要活动

MyWebViewClient

连接检测器

提前致谢

0 投票
1 回答
3224 浏览

android - 如何使用 ConnectivityManager.NetworkCallback()

我想用来ConnectivityManager.NetworkCallback()获取安卓设备连接的wifi SSID。

有一个名为 的方法onAvailable(Network network)。那么我想我应该在这个方法中找到连接的 SSID。但我不知道如何使用此方法以及如何调用onAvailable(Network network). 那么我该怎么做呢?

0 投票
1 回答
2699 浏览

android - ConnectivityManager.NetworkCallback 没有按要求工作

我曾经ConnectivityManager.NetworkCallback为 android 设备使用连接的 wifi 网络 SSID。我需要为 Android 9.0 及更高版本实现此应用程序。因此我没有使用广播接收器(因为它们已被 Android 9.0 弃用)。而不是我用ConnectivityManager.NetworkCallback. 如下。

我在 AndroidManifest 中添加了所需的权限,如下所示,

我在onCreate方法中将其注册为,

并在方法内部取消注册onStop为,

这在我打开和关闭 wifi 连接时有效。但是,如果我将连接从一个网络更改为其他网络,这些 Toast 将无法正常工作。那么我该怎么做呢?

0 投票
0 回答
582 浏览

java - 来自 ConnectivityManager 的具有相同 networkId 的多个随机 NetworkCallbacks (onAvailable)

我不明白为什么在随机时刻多次调用onAvailable,文档说明如果网络发生变化可以调用更多,但onAvailable中网络对象参数的属性始终相同。我什至比较了哈希码,它们是相同的......

问题出现在我的 LG 棒棒糖设备上

Android 文档:(https://developer.android.com/reference/android/net/ConnectivityManager.NetworkCallback

onAvailable 在 API 级别 21 中添加,当框架连接并声明一个新网络可供使用时调用。如果满足请求的网络发生变化,可能会多次调用此回调

编辑:我已经从回调中实现了其他方法,以检查是否触发了任何其他方法(onLosing、onUnavailable、onCapabilitiesChanged、onLinkPropertiesChanged),但这些方法都没有被调用

我有自己的 NetworkManager,其中包含以下代码:

日志:

0 投票
2 回答
1601 浏览

android-wifi - Wi-Fi 网络请求 API 中的对话框

我正在使用新的 API 29 将设备连接到 Android 10 设备中的 wifi 网络:

将出现一个对话框,其中包含“要使用的设备”,其中列出了指定的 wifi 网络。该对话框有两个“取消”和“连接”按钮。当我点击“连接”时,设备连接到 wifi 网络(我可以在系统设置中看到)并且连接按钮被禁用。

但是对话框并没有消失,并且没有调用 requestNetwork 回调中的任何方法。最终我达到了指定的超时时间,另一个对话框出现了“出现问题。应用程序已取消选择设备的请求”。

这里发生了什么?我想连接到网络并调用回调中的“onAvailable”或“onUnavailable”方法。