设为首页 收藏本站
查看: 1147|回复: 0

[经验分享] Android Wifi搜索

[复制链接]

尚未签到

发表于 2015-10-1 09:03:10 | 显示全部楼层 |阅读模式
  
  今天看了一下wifi的文档,写了一个简易的wifi的打开和搜索的功能。
  那么,启用wifi是必须用真机调试的,权限也是必须的:
  



  <!-- 配置Wifi訪問權限 -->
<uses-permission  
android:name="android.permission.ACCESS_WIFI_STATE"
/>
<!-- 配置改變Wifi狀態的權限 -->
<uses-permission  android:name="android.permission.CHANGE_WIFI_STATE"/>

  
  然后呢布局文件里面就只有4个按钮:打开wifi,关闭wifi,wifi状态,wifi状态信息:
  



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/openWifi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:
android:text="打开Wifi" />
<Button
android:id="@+id/closedWifi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:
android:text="关闭Wifi" />

<Button
android:id="@+id/wifiState"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:
android:text="Wifi状态" />

<Button
android:id="@+id/wifiStateInfo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:
android:text="Wifi状态信息" />
</LinearLayout>

  
  代码里面的注释已经很详细了,我在这里就不过多的解释了,看代码你懂的:
  



package cn.zuxia.android.app;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class TestWifiActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获取wifiManager对象
mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
}
// 定义操作Wifi的管理对象WifiManager
private WifiManager mWifiManager;
public void onAction(View v) {
int id = v.getId();
// wifi的状态值
int state = mWifiManager.getWifiState();
switch (id) {
case R.id.openWifi:
// 如果wifi打开就关闭
if (WifiManager.WIFI_STATE_DISABLED == state) {
Toast.makeText(this, "正在打開Wifi.....", Toast.LENGTH_SHORT)
.show();
mWifiManager.setWifiEnabled(true);// 將值設置為true表示打開wifi
} else {
Toast.makeText(this, "Wifi已經打開", Toast.LENGTH_SHORT).show();
}
break;
case R.id.closedWifi:
// 如果wifi关闭就打开
if (WifiManager.WIFI_STATE_ENABLED == state) {
Toast.makeText(this, "正在關閉Wifi.......", Toast.LENGTH_SHORT)
.show();
mWifiManager.setWifiEnabled(false);// 將值設置為false表示關閉wifi
} else {
Toast.makeText(this, "Wifi已經關閉", Toast.LENGTH_SHORT).show();
}
break;
case R.id.wifiState:
Toast.makeText(this, "Wifi狀態為:" + state, Toast.LENGTH_SHORT).show();
break;
case R.id.wifiStateInfo:
// 得到WifiInfo對象
// WifiInfo wifiInfo=mWifiManager.getConnectionInfo();
//
// if(null!=wifiInfo){
//
// System.out.println(wifiInfo.getBSSID()+",,"+wifiInfo.getMacAddress()+",,,"+wifiInfo.getIpAddress());
// }else{
// Toast.makeText(this, "返回的WifiInfo對象為空",
// Toast.LENGTH_SHORT).show();
// }
// 存储搜索到的wifi
List<WifiConfiguration> configurations = mWifiManager
.getConfiguredNetworks();
System.out.println(configurations.size());
for (WifiConfiguration wifiConfiguration : configurations) {
System.out.println(wifiConfiguration.wepKeys + "@@@"
+ wifiConfiguration.status);
}
break;
}
}
}

  
        那么这个简单的wifi的打开和关闭的简单功能就已经实现了,希望有朋友们有帮助,有什么问题的话还请留言吧!!
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-121154-1-1.html 上篇帖子: [原创]使用Fiddler抓取手机APP流量--360WIFI 下篇帖子: linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表