android 如何获取同一WiFi下的所有连接终端

android 如何获取同一WiFi下的所有连接终端,第1张

import androidappActivity;

import androidbluetoothBluetoothAdapter;

import androidcontentContext;

import androidcontentIntent;

import androidnetwifiWifiInfo;

import androidnetwifiWifiManager;

import androidosBundle;

import androidwidgetTextView;

 

/

  获取手机WIFI的MAC地址

  @author 单红宇

 

 /

public class GetmacipinfoActivity extends Activity {

    / Called when the activity is first created /

    private static final int REQUEST_ENABLE_BT = 3;

    private WifiManager mWifi;

    private BluetoothAdapter bAdapt;

    private String btMac;

    private String WifiMac;

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        superonCreate(savedInstanceState);

        setContentView(Rlayoutmain);

        mWifi = (WifiManager) getSystemService(ContextWIFI_SERVICE);

 

        if (!mWifiisWifiEnabled()) {

            mWifisetWifiEnabled(true);

        }

 

        WifiInfo wifiInfo = mWifigetConnectionInfo();

 

        bAdapt = BluetoothAdaptergetDefaultAdapter();

 

        if (bAdapt != null) {

            if (!bAdaptisEnabled()) {

                Intent enBT = new Intent(BluetoothAdapterACTION_REQUEST_ENABLE);

                startActivityForResult(enBT, REQUEST_ENABLE_BT);

            }

 

            btMac = bAdaptgetAddress();

        } else {

            btMac = "No Bluetooth Device!";

        }

 

        if ((WifiMac = wifiInfogetMacAddress()) == null) {

            WifiMac = "No Wifi Device";

        }

 

        TextView mac = (TextView) findViewById(RidmacView);

        macsetTextSize(16);

         

//      查看已经连接上的WIFI信息,在Android的SDK中为我们提供了一个叫做WifiInfo的对象,这个对象可以通过WifiManagergetConnectionInfo()来获取。WifiInfo中包含了当前连接中的相关信息。

//      getBSSID()  获取BSSID属性

//      getDetailedStateOf()  获取客户端的连通性

//      getHiddenSSID()  获取SSID 是否被隐藏

//      getIpAddress()  获取IP 地址

//      getLinkSpeed()  获取连接的速度

//      getMacAddress()  获取Mac 地址

//      getRssi()  获取80211n 网络的信号

//      getSSID()  获取SSID

//      getSupplicanState()  获取具体客户端状态的信息

        StringBuffer sb = new StringBuffer();

        sbappend("\n获取BSSID属性(所连接的WIFI设备的MAC地址):" + wifiInfogetBSSID());

//      sbappend("getDetailedStateOf()  获取客户端的连通性:");

        sbappend("\n\n获取SSID 是否被隐藏:"+ wifiInfogetHiddenSSID());

        sbappend("\n\n获取IP 地址:" + wifiInfogetIpAddress());

        sbappend("\n\n获取连接的速度:" + wifiInfogetLinkSpeed());

        sbappend("\n\n获取Mac 地址(手机本身网卡的MAC地址):" + WifiMac);

        sbappend("\n\n获取80211n 网络的信号:" + wifiInfogetRssi());

        sbappend("\n\n获取SSID(所连接的WIFI的网络名称):" + wifiInfogetSSID());

        sbappend("\n\n获取具体客户端状态的信息:" + wifiInfogetSupplicantState());

        macsetText("WIFI网络信息:  " + sbtoString() + "\n\n蓝牙MAC:  " + btMac);

    }

}

看下这段代码或许对你有帮助!!

BSSID主要是进行无线桥接的时候使用的,个人一般不使用这个参数。如果你知道这个隐藏的SSID及密码,可以在无线网络中添加一个同名的静态无线网络,这样就可以自动连接到这个无线网络中。

在Android中对Wifi *** 作,android本身提供了一些有用的包,在androidnetwifi包下面。主要包括以下几个类和接口:1ScanResult 主要用来描述已经检测出的接入点,包括接入点的地址,接入点的名称,身份认证,频率,信号强度等信息。2WifiConfiguration Wifi网络的配置,包括安全设置等。3WifiInfo wifi无线连接的描述,包括接入点,网络连接状态,隐藏的接入点,IP地址,连接速度,MAC地址,网络ID,信号强度等信息。这里简单介绍一下这里的方法: getBSSID() 获取BSSID getDetailedStateOf() 获取客户端的连通性 getHiddenSSID() 获得SSID 是否被隐藏 getIpAddress() 获取IP 地址 getLinkSpeed() 获得连接的速度 getMacAddress() 获得Mac 地址 getRssi() 获得80211n 网络的信号 getSSID() 获得SSID getSupplicanState() 返回具体客户端状态的信息4WifiManager 这个不用说,就是用来管理我们的wifi 连接,这里已经定义好了一些类,可以供我们使用。 获取WIFI网卡的状态WIFI网卡的状态是由一系列的整形常量来表示的。1WIFI_STATE_DISABLED : WIFI网卡不可用(1)2WIFI_STATE_DISABLING : WIFI网卡正在关闭(0)3WIFI_STATE_ENABLED : WIFI网卡可用(3)4WIFI_STATE_ENABLING : WIFI网正在打开(2) (WIFI启动需要一段时间)5WIFI_STATE_UNKNOWN : 未知网卡状态最重要的一个就是 你要设置权限 最重要的一个就是 你要设置权限 希望帮助到你

登录路由器的后台即可查询到ssid了,以迅捷路由器为例介绍查看ssid的步骤:

1、路由器和电脑连接,打开电脑浏览器,输入路由器的登录地址和登录密码,登录路由器后台。

2、登录后点击路由器的无线设置,然后就可以查看到ssid了。

扩展资料:

SSID(Service Set Identifier)用来区分不同的网络,最多可以有32个字符,无线网卡设置了不同的SSID就可以进入不同网络,SSID通常由AP广播出来,通过XP自带的扫描功能可以相看当前区域内的SSID。简单说,SSID就是一个局域网的名称,只有设置为名称相同SSID的值的电脑才能互相通信。

主路由器的无线讯号隐藏了即不开启SSID广播,使用副路由器开启WDS无线桥接主路由器时,是搜寻不到该无线讯号的,需要手动新增被主路由器的无线名称和无线密码等引数才可以桥接上。那么你知道吗下面是我整理的一些关于路由器桥接被隐藏无线讯号的相关资料,供你参考。

路由器桥接被隐藏无线讯号的方法:云路由器

登入副路由器管理介面,进入WDS设定介面,点选 开始设定 后,取消扫描讯号,点选 手动新增主路由器,输入被隐藏讯号主路由器的无线讯号名称和密码,点选 下一步,如下图:

根据页面提示,按照WDS设定向导设定完成即可。

路由器桥接被隐藏无线讯号的方法:新介面路由器

登入副路由器管理介面,点选 高阶设定 > 无线设定 > WDS无线桥接,点选 下一步,开启WDS无线桥接,取消扫描讯号,点选 手动新增主路由器,输入被隐藏讯号主路由器的无线讯号名称和密码,点选 下一步,如下图:

根据页面提示,按照WDS设定向导设定完成即可。

路由器桥接被隐藏无线讯号的方法:传统介面路由器

登入副路由器管理介面,进入 无线设定 > 基本设定,设定副路由器的SSID,选择通道,勾选 开启WDS,输入被隐藏讯号主路由器的SSID和BSSID主路由器的无线MAC地址,选择主路由器的加密型别,输入主路由器的无线密码,如下图:

点选储存后,按照WDS桥接方法设定其余引数即可。

注意事项

1、传统介面的路由器设定WDS桥接,如果前端主路由器不开启SSID广播,有可能会出现WDS不成功或不稳定等可能现象,不建议设定WDS时主路由器关闭SSID广播。

2、主路由器的BSSID无线MAC地址的检视方法如下。

①如果主路由器为传统介面路由器,请先登入主路由器介面,在 执行状态 > 无线状态 检视MAC地址,如下图:

②如果主路由器为新介面或云路由器,请在路由器壳体标贴上检视MAC地址,以此为基准MAC地址。如主路由器讯号为24G讯号,其MAC地址为基准MAC地址,如果主路由器讯号为5G讯号,其MAC地址为基准MAC地址+2。例如:路由器壳体标贴上检视的MAC地址为88-25-93-6C-3C-74,若主路由器的讯号为24G讯号,则BSSID为88-25-93-6C-3C-74,若主路由器的讯号为5G讯号,则BSSID为88-25-93-6C-3C-76。

WDS桥接成功后

副路由器WDS桥接成功被隐藏的无线讯号后,副路由器本身的无线讯号是未隐藏的,如果需要隐藏副路由器的无线讯号,请在 路由设定 > 无线设定,不勾选 开启无线广播,点选 储存,如下图:

传统路由器是在 无线设定 > 基本设定 中设定。  

以上就是关于android 如何获取同一WiFi下的所有连接终端全部的内容,包括:android 如何获取同一WiFi下的所有连接终端、如何通过 BSSID (MAC Address) 连接WIFI 我知道一个路由器的MAC地址,SSID,WIF、安卓怎么编程实现wifi安全检测等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9337893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存