请问你们有没有一种软件可以让很多人连着wi-fi的时候,让他们断开wi-fi只有手机wi fi总自己断开可以连或者是让

Android Wi-Fi基本操作-android100学习网
Android Wi-Fi基本操作
Android Wi-Fi基本操作
从用户角度看,Android Wi-Fi模块自下向上可以看为5层:硬件驱动程序,wpa_suppplicant,JNI,WiFi API,WifiSett
Android Wi-Fi基本操作
从用户角度看,Android Wi-Fi模块自下向上可以看为5层:硬件驱动程序,wpa_suppplicant,JNI,WiFi API,WifiSettings应用程序。
1.wpa_supplicant是一个开源库,是android实现Wi-Fi功能的基础,它从上层接到命令后,通过Socket与硬件驱动进行通讯,操作硬件完成需要的操作。
2.JNI(Java Native Interface)实现了java代码与其他代码的交互,使得在java虚拟机中运行的java代码能够与其他语言编写的应用程序和库进行交互,在android中,JNI可以让java程序调用C程序。
3.Wi-Fi API使应用程序可以使用Wi-Fi的功能。
4.Wi-FI Settings应用程序是android中自带的一个应用程序,选择手机的Settings-&WireLess & netWorks-&Wi-Fi,可以让用户手动打开或关闭Wi-Fi功能。当用户打开Wi-Fi功能后,它会自动搜索周围的无线网络,并以列表的形式显示,供用户选择。默认会连接用户上一次成功连接的无线网络。
在android.net.wifi包中提供了一些类管理设备的Wi-Fi功能。主要包括ScanResult,wifiConfiguration,WifiInfo,WifiManager.
1.ScanResult
ScanResult主要是通过Wi-Fi硬件的扫描来获取一些周边的Wi-Fi热点的信息。该类包括以下五个域:
public String
接入点地址
public String
网络的名称
public String
capabilities
网络性能,包括介入点支持的认证,密钥管理,加密机制等
public int
以MHz为单位的接入频率
public int
以dBm为单位的信号强度
该类还提供了一个方法toString(),可将结果转换为简洁,易读的字符串形式。
2.wifiConfiguration类
通过该类可获取一个Wi-Fi网络的网络配置,包括安全配置等。该类包括六个子类,如下:
WifiConfiguration.AuthAlgorthm
获取IEEE802.11的加密方法
WifiConfiguration.GroupCipher
获取组密钥
WifiConfiguration.KeyMgmt
获取密码管理机制
WifiConfiguration.PairwiseCipher
获取WPA方式的成对密钥
WifiConfiguration.Protocol
获取机密协议
WifiConfiguration.Status
获取当前网络状态
每个子类都以常量形式给出相关的配置信息,有些还包括含域和方法。
3.WifiInfo类
通过该类可以获取已经建立或处于活动状态的Wi-Fi网络的状态信息。该类提供的方法较多,部分常用的如下:
getBSSIS()
获取当前接入点的BSSID
getIpAddress()
获取IP地址
getLinkSpeed()
获取当前连接的速度
getMacAddress()
获取MAC地址
获得802.11n网络的信号强度指示
获得网络SSID
getSupplicanState()
返回客户端状态的信息
4.wifiManager类
该类用于管理Wi-Fi连接,其定义了26个常量和23个方法。下面列出常用方法:
方法     
addNetwork(WifiConfiguration config)
向设置好的网络里添加新网络
calculateSignalLevel(int rssi,int numLevels)
计算信号的等级
compareSignalLevel(int rssiA,int rssiB)
对比两个信号的强度
createWifiLock(int lockType,String tag)
创建一个Wi-Fi锁,锁定当前的Wi-Fi连接
disableNetWork(int netId)
让一个网络连接失败
disconnect()
与当前接入点断连接
enableNetwork(int netId,Boolean disableOthers)
与之前设置好的网络建立连接
getConfiguredNetworks()
客户端获取网络连接状态
getConnectionInfo()
获取当前连接信息
getDhcpInfo()
获取DHCP信息
getScanResult()
获取扫描测试结果
getWifiState()
获取一个Wi-Fi接入点是否有效
isWifiEnabled()
判断一个Wi-Fi连接是否有效
pingSupplicant()
看看客户后台程序是否响应请求
ressociate()
重连到接入点,即使已经连接上了
reconnect()
如果现在没有连接的话,则重连接
removeNetwork(int netId)
移出某一个特定网络
saveConfiguration()
保留一个配置信息
setWifiEnabled(boolean enabled)
让一个连接有效或失效
startScan()
updateNetwork(WifiConfiguration config)
更新一个网络连接信息
需要指出的是,Wi-Fi网卡状态是由一系列的整型常量来表示的。
WIFI_STATE_DISABLED:Wi-Fi网卡不可用,用整型常量1表示。
WIFI_STATE_DISABLING:Wi-Fi网卡正在关闭,用整型常量0表示。
WIFI_STATE_ENABLED:Wi-Fi网卡可用,用整型常量3表示。
WIFI_STATE_ENABLING:Wi-Fi网卡正在打开,启动需要一段时间,用整型常量2表示。
WIFI_STATE_UNKNOWN:未知网卡状态,用整型常量4表示。
此外wifiManager还提供了一个子类wifiManagerLock.wifiManagerLock的作用是这样的:在普通的状态下,如果Wi-Fi的状态处于闲置,那么网络将会暂时中断;但是如果把当前的网络状态锁上,那么Wi-Fi连通将会保持在一定的状态,在结束锁定之后,才会恢复常态。
下面简单介绍一些方法的调用方式
private WifiInfo mWifiI
private WifiManager mWifiM
1.获取WifiManager系统服务
mWifiManager=(WifiManager)context.getSystemService(Context.WIFI_SERVICE);
2.重新获取当前Wi-Fi的连接信息
public void againGetWifiInfo(){
  mWifiInfo=mWifiManager.getConnectionInfo();
3.判断用户是否开启wi-fi网卡
public boolean isNetCardFriendly(){
  return mWifiManager.isWifiEnabled();
4.判断当前是否连接Wi-Fi
//创建连接管理器
private ConnectivityManager connM
public boolean isConnectioning(){
  state=connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
  if(State.CONNECTING==state){
  }else{
5.得到当前网络的连接状态
public State getCurrentState(){
  state=connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
6.设置配置好的网络(有密码的网络并配置好密码),指定的
//网络连接列表
private List wifiConfigList=new ArrayList();
//Wi-Fi配置列表
private List wifiConfigedSpecifiedList=new ArrayList();
public void setWifiConfigedSpecifiedList(String ssid){
  wifiConfigedSpecifiedList.clear();
  if(wifiConfigList!=null){
    for(WifiConfiguration item : wifiConfigList){
      //如果是指定的网络,就加入列表
      if(item.SSID.equalsIgnoreCase("\""+ssid+"\"")&& item.preSharedKey!=null){
        //添加到列表中
        wifiConfigedSpecifiedList.add(item);
      }
7.返回Wi-Fi设置列表
public List getWifiConfigedSpecifiedList(){
  return wifiConfigedSpecifiedL
8.打开Wi-Fi网卡
public void openNetCard(){
  if(!mWifiManager.isWifiEnabled()){
    mWifiManager.setWifiEnabled(true);
9.关闭Wi-Fi网卡
public void closeNetCard(){
  if(mWifiManager.isWifiEnabled()){
    mWifiManager.setWifiEnabled(false);
10.检查当前Wi-Fi网卡状态
public void checkNetCardState(){
  if(mWifiManager.getWifiState()==0){
    Log.i("","网卡正在关闭");
  }else if(mWifiManager.getWifiState()==1){
    Log.i("","网卡已经关闭");
  }else if(mWifiManager.getWifiState()==2){
    Log.i("","网卡正在打开");
  }else if(mWifiManager.getWifiState()==3){
    Log.i("","网卡已经打开");  
  }else{
    Log.i("","没有获取到状态");
11.扫描周边网络
//保存扫描结果列表
public List listResult=new ArrayList();
public void scan(){
  //开始扫描
  mWifiManager.startScan();
  //获取扫描结果
  listResult=mWifiManager.getScanResults();
  //扫描配置列表
  wifiConfigList=mWifiManager.getConfiguredNetworks();
  if(listResult!=null){
    //当前存在无线网络
  }else{
    //当前区域没有无线网络  
12.返回扫描结果
public List getListResult(){
  return listR
13.得到扫描结果
//存储扫描结果
private StringBuffer mStringBuffer=new StringBuffer();
private ScanResult mScanR
public String getScanResult(){
  //每次点击扫描之前清空上一次扫描结果
  if(mStringBuffer!=null){
    mStringBuffer=new StringBuffer();  
  //开始扫描调用11的方法
  scan();
  listResult=mWifiManager.getScanResults();
  if(listResult!=null){
    for(int i=0;i.size();i++){
      mScanResult=listResult.get(i);
      //将需要的属性连接到字符串里面 
     mStringBuffer.append("NO.").append(i+1).append(" :").append(mScanResult.SSID).append("-&").append(mScanResult.BSSID).append("-&").append(mScanResult.capabilities).append("-&").append(mScanResult.frequency).append("-&").append(mScanResult.level).append("-&").append(mScanResult.describeContents()).append("\n\n");
  return mStringBuffer.toString();
14.断开当前连接的网络
public void disconnectWifi(){
  //获取网络ID
  int newId=getNetworkId();
  //设置网络不可用
  mWifiManager.disableNetWork(netId);
  //断开网络
  mWifiManager.disconnect();
  //设置Wi-Fi信息为NULL
  mWifiInfo=
15.检查当前网络状态
public Boolean checkNetWorkState(){
  if(mWifiInfo!=null){
  }else{
16.得到连接的ID
public int getNetworkId(){
  return (mWifiInfo==null)?0:mWifiInfo.getNetworkId();
17.得到IP地址
public void getIPAddress(){
   return (mWifiInfo==null)?0:mWifiInfo.getIpAddress();
18.锁定WifiLock
WinfiLock mWifiL
public void acquireWifilock(){
  mWifiLock.acquire();
19.解锁WifiLock
public void releaseWifiLock(){
  if(mWifiLock.isHeld()){
    mWifiLock.acquire();
20.创建一个WifiLock
public void creatWifiLock(){
  mWifiLock=mWifiManager.createWifiLock("test");
21.得到配置好的网络wpa_supplicant.conf中的内容,不管有没有配置密码
public List getConfiguration(){
  return wifiConfigL
22.指定配置好的网络连接
public Boolean connectConfiguration(int index)(){
  //所引大于配置好的网络返回
  if(index&=wifiConfigList.size()){
  return mWifiManager.enableNetwork(wifiConfigedSpecifiedList.get(index).networkId,true);
23.得到MAX地址
public String getMacAddress(){
  return (mWifiInfo=null)?"":mWifiInfo.getMacAddress(); 
24.得到接入点BSSID
public String getBSSID(){
  return (mWifiInfo=null)?"NULL":mWifiInfo.getBSSID();
25.得到WifiInfo的所有信息包
public String getWifiInfo(){
  return (mWifiInfo=null)?"NULL":mWifiInfo.toString();
26.添加一个网络并连接
public int addNetwork(WifiConfiguration g){
  //添加网络
  int wcgID=mWifiManager.addNetwork(g);
  //设置添加的网络可用
  mWifiManager.enableNetwork(wcgID,true);
  return wcgID;
/Androidjc/981398.true/Androidjc/981398.htmlTechArticleAndroid Wi-Fi基本操作 从用户角度看,Android Wi-Fi模块自下向上可以看为5层:硬件驱动程序,wpa_suppplicant,JNI,WiFi API,WifiSettings应用程序。 1.wpa...什么软件可以看Wi-Fi有几个连接 然后还可以让他不连接我的Wi-Fi 好评!_百度知道
什么软件可以看Wi-Fi有几个连接 然后还可以让他不连接我的Wi-Fi 好评!
hiphotos.hiphotos.baidu.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http&/zhidao/pic/item/a8ec8add606d84a6ec08fa513dc6ab:///zhidao/wh%3D600%2C800/sign=bb406bd6a744ad342eea8f81e09220cc/a8ec8add606d84a6ec08fa513dc6<a href="http://c.hiphotos.baidu.jpg" esrc="http://c.com/zhidao/wh%3D450%2C600/sign=98d42ca90af431adbc874b3d7eec8add606d84a6ec08fa513dc6ab
什么无线软件都可以
如果你使用的是笔记本电脑上的免费wifi软件 那么你只要在wifi软件上的安全设置里面就能找到你想要的这些 如果你使用的是路由器 那么你下载一个路由器管家就可以了
其他类似问题
为您推荐:
其他2条回答
无线WIFI路由器
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁有没有一种wifi控制软件,这一区域有很多人用我家的wifi,我想管理一下。_百度知道
有没有一种wifi控制软件,这一区域有很多人用我家的wifi,我想管理一下。
提问者采纳
电脑管家现在可以管理WIFI
手机软件。
手机上连上你家Wi-Fi。上192.168.1.1 望亲采纳
那是什么东东?
就是路由的管理网址
谢谢你啊,呵呵
提问者评价
太给力了,你的回答完美解决了我的问题!
其他类似问题
为您推荐:
其他20条回答
你直接把wifi密码改了,他们就连不上你家的wifi了。管理软件有360wifi ,猎豹wifi
手机软件啊,呵呵
用手机控制电脑wifi?这个我不太清楚哦
噢,谢谢你啊,呵呵
手机管家可以查看你的wifi带了几台机子.如果有陌生人的设备连接,那就尽快换密码吧,可以在浏览器输入 192.168.1.1
或 192.168.0.1
具体看你的运营商,用户名和密码在无线猫的背面。
你家的wifi不加密码的吗?你加了密码谁能破解。
你用的事随身wifi还是
设置连接密码!
360里有个防蹭网功能,打开OK
你设置密码就可以了。
密码设置难一些,比如asdasdzxczxc99
你设置一下密码难度别人就用不了
你可以进入Wi-Fi管理页面
把广播关闭
别人就无法搜索到你家Wi-Fi了
可以设置允许连接几个人
设置密码,路由器限制ip网速,路由安全过滤MAC 地址 允许指定MAC 通过路由访问网络
你的wifi密码太简单了,或者是被分享了wifi吧
改下密码,很快就好了
改密,尽量不用数字
密码要有英文字母,要不会被破解的。
叫人帮你设置密码就ok了
把密码改成难一点的!
你改密码就行了。
设置密码就可以了
wifi的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁笔记本的那种Wi-Fi共享 想只能自己一个人用Wi-Fi 怎么弄,不是怕别人蹭网 是不想让一个脸_百度知道
笔记本的那种Wi-Fi共享 想只能自己一个人用Wi-Fi 怎么弄,不是怕别人蹭网 是不想让一个脸
笔记本的那种Wi-Fi共享
想只能自己一个人用Wi-Fi 怎么弄,不是怕别人蹭网 是不想让一个脸皮很厚的人 但认识 不好意思说 的人用
买回来需要设置,用手机也可以。也可以买的时候让他能帮你设置好,告诉他们宽带帐号,这个说明书上有买个无线路由器就可以了,你不用纠结,密码就可以设置
我是用网上下载的那种共享大师开的热点 不用路由器
来自团队:
其他类似问题
为您推荐:
其他3条回答
自己下载个共享软件,,把密码改了隐藏一下就可以了
我是想搞成那种共享软件只能一个人用的那种
你隐藏不就自己用了吗,,而且只要你不告诉别人你的密码不都是你自己用
WIFI信号可以隐藏
是用的软件共享的么,在软件里面直接拉黑,或者限速
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁请问你们有没有一种软件可以让很多人连着wi-fi的时候,让他们断开wi-fi只有自己可以连或者是让_百度知道
请问你们有没有一种软件可以让很多人连着wi-fi的时候,让他们断开wi-fi只有自己可以连或者是让
请问你们有没有一种软件可以让很多人连着wi-fi的时候,让他们断开wi-fi只有自己可以连或者是让他们减弱信号或网速的,软件不需要root权限的。
你再路由器里设置别人的网速什么的都是可以实现的,你的这个问题根本不需要软件的你只要接管了路由器的权限密码,希望我的回答可以帮到你,记得采纳我的回答啊
wi-fi不是我的
为您推荐:
其他1条回答
不是你的?
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 wi fi万能钥匙 的文章

 

随机推荐