Android WIFI基本操作
2012-04-27 15:36
281 查看
第一步:布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/mytext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="搜索结果"
/>
<Button
android:id="@+id/startwifi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="开启WIFI"/>
<Button
android:id="@+id/stopwifi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="关闭WIFI"/>
</LinearLayout>
第二步:测试类
package mars.wifi;
import java.util.List;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class WifiActivity extends Activity {
private TextView disPlayText;
private WifiManager mainWifi;
private WifiReceiver receiverWifi;
private Button startWiFiButton;
private Button stopWiFiButton;
private WifiInfo wifiInfo;
//搜做WIFI结果
List<ScanResult> wifiList;
StringBuilder sb = new StringBuilder();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setTitle("WIFI操作介绍");
disPlayText = (TextView) findViewById(R.id.mytext);
startWiFiButton=(Button)findViewById(R.id.startwifi);
stopWiFiButton=(Button)findViewById(R.id.stopwifi);
stopWiFiButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
mainWifi.setWifiEnabled(false);
//获得连接信息
wifiInfo=mainWifi.getConnectionInfo();
System.out.println(wifiInfo.getIpAddress());
mainWifi.disconnect();
}
});
startWiFiButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
receiverWifi = new WifiReceiver();
registerReceiver(receiverWifi, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
mainWifi.startScan();
}
});
}
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "Refresh");
return super.onCreateOptionsMenu(menu);
}
public boolean onMenuItemSelected(int featureId, MenuItem item) {
mainWifi.startScan();
disPlayText.setText("Starting Scan");
return super.onMenuItemSelected(featureId, item);
}
protected void onPause() {
unregisterReceiver(receiverWifi);
super.onPause();
}
protected void onResume() {
registerReceiver(receiverWifi, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
super.onResume();
}
class WifiReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
sb = new StringBuilder();
wifiList = mainWifi.getScanResults();
for (int i = 0; i < wifiList.size(); i++) {
sb.append(new Integer(i + 1).toString() + ".");
sb.append((wifiList.get(i)).toString());
sb.append("\n\n");
}
disPlayText.setText(sb);
}
}
}
第三步:配置文件,添加权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="mars.wifi" android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".WifiActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4" />
<!-- 以下是使用wifi访问网络所需要的权限 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" >
</uses-permission>
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
</manifest>
第四步:演示
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/mytext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="搜索结果"
/>
<Button
android:id="@+id/startwifi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="开启WIFI"/>
<Button
android:id="@+id/stopwifi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="关闭WIFI"/>
</LinearLayout>
第二步:测试类
package mars.wifi;
import java.util.List;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class WifiActivity extends Activity {
private TextView disPlayText;
private WifiManager mainWifi;
private WifiReceiver receiverWifi;
private Button startWiFiButton;
private Button stopWiFiButton;
private WifiInfo wifiInfo;
//搜做WIFI结果
List<ScanResult> wifiList;
StringBuilder sb = new StringBuilder();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setTitle("WIFI操作介绍");
disPlayText = (TextView) findViewById(R.id.mytext);
startWiFiButton=(Button)findViewById(R.id.startwifi);
stopWiFiButton=(Button)findViewById(R.id.stopwifi);
stopWiFiButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
mainWifi.setWifiEnabled(false);
//获得连接信息
wifiInfo=mainWifi.getConnectionInfo();
System.out.println(wifiInfo.getIpAddress());
mainWifi.disconnect();
}
});
startWiFiButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
receiverWifi = new WifiReceiver();
registerReceiver(receiverWifi, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
mainWifi.startScan();
}
});
}
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "Refresh");
return super.onCreateOptionsMenu(menu);
}
public boolean onMenuItemSelected(int featureId, MenuItem item) {
mainWifi.startScan();
disPlayText.setText("Starting Scan");
return super.onMenuItemSelected(featureId, item);
}
protected void onPause() {
unregisterReceiver(receiverWifi);
super.onPause();
}
protected void onResume() {
registerReceiver(receiverWifi, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
super.onResume();
}
class WifiReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
sb = new StringBuilder();
wifiList = mainWifi.getScanResults();
for (int i = 0; i < wifiList.size(); i++) {
sb.append(new Integer(i + 1).toString() + ".");
sb.append((wifiList.get(i)).toString());
sb.append("\n\n");
}
disPlayText.setText(sb);
}
}
}
第三步:配置文件,添加权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="mars.wifi" android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".WifiActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4" />
<!-- 以下是使用wifi访问网络所需要的权限 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" >
</uses-permission>
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
</manifest>
第四步:演示
相关文章推荐
- android开发-WIFI网络基本操作
- android---sqlite基本操作
- android 对WIFI 操作
- 【android 文件的基本操作】
- Android - 位置定位(Location)服务(Service)类的基本操作
- RxAndroid中observable的基本使用和表单校验操作
- Android 操作SQLite基本用法
- android中Wifi的操作
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- Android 控制WIFI相关操作
- Android基础入门教程——1.5.1 Git使用教程之本地仓库的基本操作
- 【Android Training - Connectivity】基本网络操作 [ Lesson 3 - 详解如何解析XML数据 ]
- android文件操作(基本囊括所有的文件操作了)
- ArcGIS for Android Runtime100 基本操作(一)——图层加载和切换
- Android 的 Sqlite基本操作
- Android数据库存储基本操作
- Android 操作SQLite基本用法
- Android Wifi和蓝牙操作(一)
- Android开发之WIFI网络操作
- WiFi 网络操作(一)-- MarsChen Android 开发教程学习笔记