android开发怎么处理wifi SSID重名
android开发,搜索可见wifi后。listview会出现多个ChinaNet或CMCC。请问怎么处理成只显示一个ChinaNet或CMCC?可以的话,附上代码?...
android开发,搜索可见wifi后。listview会出现多个ChinaNet或CMCC。请问怎么处理成只显示一个ChinaNet或CMCC?可以的话,附上代码?
展开
推荐于2017-09-28 · 知道合伙人软件行家
关注
展开全部
可参照以下代码处理:
/*
* 去除同名SSID
* */
public List<ScanResult>noSameName(List<ScanResult> list)
{
List<ScanResult> newlist = new ArrayList<ScanResult>();
for (ScanResult result : list)
{
if (!TextUtils.isEmpty(result.SSID) && !containName(newlist, result.SSID))
newlist.add(result);
}
return newlist;
}
public void getAllNetWorkList(){
// 每次点击扫描之前清空上一次的扫描结果
if(sb!=null){
sb=new StringBuffer();
}
//开始扫描网络
mWifiAdmin.startScan();
list=mWifiAdmin.getWifiList();
if(noSameName(list)!=null){
for(int i=0;i<noSameName(list).size();i++){
//得到扫描结果
mScanResult=noSameName(list).get(i);
sb=sb.append(mScanResult.BSSID+" ").append(mScanResult.SSID+" ")
.append(mScanResult.capabilities+" ").append(mScanResult.frequency+" ")
.append(mScanResult.level+"\n\n");
}
allNetWork.setText("扫描到的wifi网络:\n"+sb.toString());
}
}
/*
* 去除同名SSID
* */
public List<ScanResult>noSameName(List<ScanResult> list)
{
List<ScanResult> newlist = new ArrayList<ScanResult>();
for (ScanResult result : list)
{
if (!TextUtils.isEmpty(result.SSID) && !containName(newlist, result.SSID))
newlist.add(result);
}
return newlist;
}
public void getAllNetWorkList(){
// 每次点击扫描之前清空上一次的扫描结果
if(sb!=null){
sb=new StringBuffer();
}
//开始扫描网络
mWifiAdmin.startScan();
list=mWifiAdmin.getWifiList();
if(noSameName(list)!=null){
for(int i=0;i<noSameName(list).size();i++){
//得到扫描结果
mScanResult=noSameName(list).get(i);
sb=sb.append(mScanResult.BSSID+" ").append(mScanResult.SSID+" ")
.append(mScanResult.capabilities+" ").append(mScanResult.frequency+" ")
.append(mScanResult.level+"\n\n");
}
allNetWork.setText("扫描到的wifi网络:\n"+sb.toString());
}
}
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
展开全部
/**
* 去除同名WIFI
*
* @param 需要去除同名的列表
* @return 返回不包含同命的列表
*/
public List<ScanResult> noSameName(List<ScanResult> oldSr)
{
List<ScanResult> newSr = new ArrayList<ScanResult>();
for (ScanResult result : oldSr)
{
if (!TextUtils.isEmpty(result.SSID) && !containName(newSr, result.SSID))
newSr.add(result);
}
return newSr;
}
/**
* 判断一个扫描结果中,是否包含了某个名称的WIFI
*
* @param sr
* 扫描结果
* @param name
* 要查询的名称
* @return 返回true表示包含了该名称的WIFI,返回false表示不包含
*/
public boolean containName(List<ScanResult> sr, String name)
{
for (ScanResult result : sr)
{
if (!TextUtils.isEmpty(result.SSID) && result.SSID.equals(name))
return true;
}
return false;
}
* 去除同名WIFI
*
* @param 需要去除同名的列表
* @return 返回不包含同命的列表
*/
public List<ScanResult> noSameName(List<ScanResult> oldSr)
{
List<ScanResult> newSr = new ArrayList<ScanResult>();
for (ScanResult result : oldSr)
{
if (!TextUtils.isEmpty(result.SSID) && !containName(newSr, result.SSID))
newSr.add(result);
}
return newSr;
}
/**
* 判断一个扫描结果中,是否包含了某个名称的WIFI
*
* @param sr
* 扫描结果
* @param name
* 要查询的名称
* @return 返回true表示包含了该名称的WIFI,返回false表示不包含
*/
public boolean containName(List<ScanResult> sr, String name)
{
for (ScanResult result : sr)
{
if (!TextUtils.isEmpty(result.SSID) && result.SSID.equals(name))
return true;
}
return false;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/**
* 去除同名WIFI
*
* @param 需要去除同名的列表
* @return 返回不包含同命的列表
*/
public List<ScanResult> noSameName(List<ScanResult> oldSr)
{
List<ScanResult> newSr = new ArrayList<ScanResult>();
for (ScanResult result : oldSr)
{
if (!TextUtils.isEmpty(result.SSID) && !containName(newSr, result.SSID))
newSr.add(result);
}
return newSr;
}
/**
* 判断一个扫描结果中,是否包含了某个名称的WIFI
*
* @param sr
* 扫描结果
* @param name
* 要查询的名称
* @return 返回true表示包含了该名称的WIFI,返回false表示不包含
*/
public boolean containName(List<ScanResult> sr, String name)
{
for (ScanResult result : sr)
{
if (!TextUtils.isEmpty(result.SSID) && result.SSID.equals(name))
return true;
}
return false;
}
* 去除同名WIFI
*
* @param 需要去除同名的列表
* @return 返回不包含同命的列表
*/
public List<ScanResult> noSameName(List<ScanResult> oldSr)
{
List<ScanResult> newSr = new ArrayList<ScanResult>();
for (ScanResult result : oldSr)
{
if (!TextUtils.isEmpty(result.SSID) && !containName(newSr, result.SSID))
newSr.add(result);
}
return newSr;
}
/**
* 判断一个扫描结果中,是否包含了某个名称的WIFI
*
* @param sr
* 扫描结果
* @param name
* 要查询的名称
* @return 返回true表示包含了该名称的WIFI,返回false表示不包含
*/
public boolean containName(List<ScanResult> sr, String name)
{
for (ScanResult result : sr)
{
if (!TextUtils.isEmpty(result.SSID) && result.SSID.equals(name))
return true;
}
return false;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把多余的去掉就显示一个了吖
追问
对啊,但是怎么可以把多余去掉呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询