问题标签 [android-wifi]
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.
android - Wifi Connect-Disconnect 监听器
如果 wifi 连接/断开连接,我的班级必须实现哪个侦听器才能自动检查代码?
我可以手动检查 wifi 连接/断开连接,但每次我需要从 android 设置连接/断开 WIFI,然后运行我的程序以获得结果。
我当前的代码很简单:
android - Android wifi.getScanResults() 的旧结果
在我的 Droid 2 上,wifi.getScanResults() 似乎会在短时间内返回旧值。
这意味着当我在家时,wifi.getScanResults() 将显示我的家庭网络。如果我在几英里外的街道上行驶,wifi.getScanResults() 仍然会在前 1 或 2 次尝试中显示我的家庭网络。在第三次尝试时,我的家庭网络消失了。
问题:有没有办法只获取最新的 wifi.getScanResults()?
可能的选项:
- 如果 ScanResult 的 .level 最小,则假定它超出范围。
使用未记录的 API 以某种方式清除 ScanResults 。
我有一些这样的代码:
...
android - Android以编程方式打开/关闭WiFi热点
是否有 API 以编程方式打开/关闭 Android 上的 WiFi 热点?
我应该调用什么方法来打开/关闭它?
更新:有这个选项可以启用 HotSpot,只需打开/关闭 WiFi,但这对我来说不是一个好的解决方案。
android - 安卓中的IPCU
我正在寻找我的手机配置实用程序,如 android 中的工具。用于配置文件。我知道使用 wificonfiguration 类通过代码配置 wifi 是可能的。以及通过编写意图接收器在设备启动后配置 wifi。
但我正在寻找在 wifi 设置代码中设置 wifi,例如在 iphone 的 IPCU 中。一旦设置不需要使用 wificonfiguration 类编写任何配置代码。
java - Android WifiManager 扫描结果在姜饼后给出不一致的数据?
我有一个 android 应用程序,可以持续扫描可用的 wifi 接入点的信号强度。我正在使用 WifiManager 来做到这一点。
直到一周前我们将手机升级为姜饼时,这一直运行良好。现在似乎在扫描每个接入点之前触发了“SCAN_RESULTS_AVAILABLE_ACTION”。在下一次扫描中总会出现一些缺失,而另一些则再次缺失。
这是新的 android 版本中的某种错误,还是有某种方法可以让每个接入点都在范围内,而不是每次只有几个不同的接入点?
顺便说一句,这发生在三星 Galaxy s1&s2 和 acer android 平板电脑上,所以它不仅仅是设备
谢谢你能给我们的任何帮助
android - 热点/网络共享模式下 Android 上的多播支持
我有一个原型 Android 应用程序正在侦听多播数据包以“发现”客户端进行通信。套接字设置与此类似:
当所有设备都通过 WiFi 连接时,这非常有效。我想通过手机充当便携式热点来支持这一点。但是,虽然我的所有设备似乎都正确连接到热点,但我不再接收多播数据。我想知道是否存在不允许在热点模式下进行此类通信的限制,或者是否需要任何其他网络配置才能启用此功能?我已经在几个运行 Gingerbread 和 Froyo 的不同设备上尝试了这个,但没有运气。
android - 从android中的wifi热点获取IP
我想获取 android 设备通过 wifi 连接的 wifi 热点的 IP(从另一台计算机),而不是 android 的 IP 本地。我在真实设备中运行应用程序。我可以扫描所有 wifi 并获取它们的名称。
当然,我可以使用以下代码获取本地 IP:
例如,我可以看到android设备的IP本地是192.168.2.101,但是如何获取wifi热点的IP是192.168.2.1。谢谢!
android - 连接到 WiFi 接入点时未收到 WIFI_STATE_CHANGED_ACTION 意图?
我的应用程序的部分功能是扫描并显示 WiFi 接入点列表,然后连接到用户选择的接入点。我有这个功能工作。现在,我还希望在连接“通过”时得到通知。这应该很简单,但我发现自己绊倒了。
我已经阅读了 SO 这里的各种帖子,它们都提到注册WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION
or WifiManager.WIFI_STATE_CHANGED_ACTION
。但是,这些都不适合我。任何人都可以在此代码中发现任何错误吗?(我省略了进行扫描的部分)
预期行为:一旦连接成功(即,当我在通知栏上看到“已连接”图标时),应该会收到广播并且应该看到 toast。
观察到的行为:当应用程序第一次启动时接收到广播,每当我切换回它时(即,每当onResume()
被调用;或者我怀疑,每当我注册意图时)
如果我取消注释 WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION 的代码,我根本看不到正在接收广播。
注意:我知道连接成功,因为我在 Android 的 wifi 设置屏幕中看到了状态。
java - Android异步静态类?
这是几个问题合而为一的问题。基本上我有一个带有三个选项卡的选项卡式应用程序。每个选项卡都需要访问 Web 服务和 wifi API。我想通过为所有这些共享功能创建两个静态包装类来简化这一点,以便所有三个活动都可以使用相同的静态类。
我在 android/java 中相当不熟练,所以我在这里寻找一些指针。
例如,这是我的 Wifi 类,它只是注册侦听器并在收到它们时将扫描结果发布给它们。由订阅者决定是否要关注它们。
这是有效的吗?还是我不知道 android 应用程序的生命周期?我的方式有什么陷阱吗?
此外,如果 WifiManagerActivity 在单独的线程上,它如何处理调用需要在另一个线程上使用变量的方法?在 C# 中,我会使用调度程序来调用它,但使用 java/android??
总之:
1) 我目前的计划有什么问题或建议吗?
2)我如何从一个线程调用一个方法并让它改变属于另一个线程的变量?
谢谢!
android - 在 Android 中显式管理 WiFi 功耗
背景
我正在开发一个在 Android 手机上运行的研究应用程序。简而言之,只要手机处于开机状态,应用程序就会运行,并定期从手机上的许多组件和传感器获取信息。该应用程序是尽可能少地打扰用户。话虽如此,它消耗的电池太快了,迫使用户每天都充电。这根本行不通。
为了弄清楚如何改善这种情况,一位也在开发该应用程序的同事让该应用程序运行了很长时间,并注意到最大的电池消耗是 WiFi。我目前的想法是在不使用 WiFi 时手动关闭它以节省电量。AFAIK,Android 使用 PSM for WiFi 来实现这一点,但这似乎还不够。
问题
有没有办法“提升”Android 的 PSM?或者,如果没有这个问题所暗示的那样,有什么方法可以安全地打开和关闭 WiFi 而不会对用户产生不利影响?即,有没有办法判断哪些应用程序正在使用 WiFi,并在没有应用程序时将其关闭?标准应用程序(例如 Web 浏览器和电子邮件客户端)是否使用WiFi 锁来防止 WiFi 在工作时被关闭?
非常感谢任何关于从哪里开始解决这个问题的建议。非常欢迎您提供有关 Android 的 PSM 工作原理、其生效需要多长时间或与问题相关的任何信息的信息。
谢谢你的时间!