当前位置: 首页 > 知识库问答 >
问题:

检查新的WiFi网络连续没有定时器/时间表(Android)

沃侯林
2023-03-14

我的应用程序的功能之一是在后台选择一个首选网络,就像Wifi优先排序器一样,但我不想用计时器/时间表定期扫描Wifi网络。我想触发与事件相关的WiFi切换动作。

我试图注册SCAN_RESULTS_AVAILABLE_ACTION,但我找不到任何触发该事件的无线扫描操作。我还查看了WifiManager和ConnectivityManager,但找不到任何相关事件。

假设我已经连接到Wifi网络,是否有任何事件/方法在后台持续检查其他(新/旧)Wifi网络。

P. S.这是我在stackoverflow中的第一个问题。

共有1个答案

边健
2023-03-14

首先,我们需要以下权限才能访问网络状态。向清单文件添加以下权限。

访问网络状态和WiFi所需的权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="ANDROID.PERMISSION.ACCESS_NETWORK_STATE"/>

创建扩展广播接收器和重写方法的类

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent; 
import android.widget.Toast;
import android.net.ConnectivityManager;


public class Check_Connectivity extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent arg1) {

    boolean isConnected = arg1.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
    if(isConnected){
        Toast.makeText(context, "Internet Connection Lost", Toast.LENGTH_LONG).show();
    }
    else{
        Toast.makeText(context, "Internet Connected", Toast.LENGTH_LONG).show();
}}}
 类似资料:
  • 在最新版本的Android(尤其是Pixel)上处理Wifi Manager时,我看到了一些有趣的行为。我正在尝试使WIFI manager连接到已知的热点(IOT设备)。 谷歌在一篇博客文章中清楚地列出了这些步骤,如果你在Lollipop上,你需要绑定到一个特定的网络,以确保你的网络请求通过一个给定的网络。你可以在这里找到步骤https://android-developers.googlebl

  • 我需要实施一个连续的任务时间表, 我通过Quartz通过,接下来的三次执行 但我希望02:45:00之后的下一次行刑是在03:30:00而不是03:00:00 有什么办法能做到吗

  • 我正在尝试在这里制作一个应用程序,它将检测WiFi网络中连接的所有设备。我已经做了足够多的谷歌,并提出了一个应用程序,可以检测在应用程序的WiFi网络中连接的设备的IP地址。 现在我想要更多的东西。 < li >我能否找到设备名称,即电话名称或型号或系统名称,以及我们可以用来检测特定设备的任何信息? < li >我们能否找到设备距离,例如该设备距离我们使用应用的手机有多远? < li >这是主要任

  • 问题内容: 嗨,我开始开发一个Android应用程序,该应用程序将使用一个可容纳多个表的SQLite数据库。我想知道的是特定表的最后更新时间,因为某些数据不需要在一个星期内进行更新,而其他表则需要每隔几个小时更新一次。尝试节省带宽并创建响应速度更快的应用程序。不知道是否有用于此的命令(似乎什么也找不到),或者我是否应该在每个表中添加具有当前时间和日期的字段,并使用System.currentTim

  • 我开Android Studio已经有一段时间了。直到今天都很好。今天android模拟器不能连接到互联网(用chrome浏览器和我在模拟器中的应用程序尝试),尽管它的wifi是连接的。怎么解决这个? 我已经试过了: null 模拟器wifi设置(自动ip/dhcp):Nexus 5s Api 28 IP地址:192.168.232.2 网关:192.168.232.1 子网掩码:255.255.

  • 我正在构建一个需要通过没有任何互联网访问的WiFi网络进行通信的android应用程序。问题是,即使连接了WiFi,当wifi网络上没有连接互联网时,android也会选择使用蜂窝/移动数据。 我读了很多关于这个问题的帖子,其中很多都涉及到为设备找根,但这在生产应用程序中是不可能的(为设备找根不是一个选项)。其他解决方案(如下面的代码)建议使用< code > bindProcessToNetwo