作者:手机用户2502880237 | 来源:互联网 | 2023-05-18 00:45
转自:http:www.eoeandroid.comviewthread.php?tid3861、首先新建了布局模板XML文件vifi.xml,代码很简单,如下:<?xmlversio
转自:http://www.eoeandroid.com/viewthread.php?tid=386
1、首先新建了布局模板XML文件vifi.xml,代码很简单,如下:
android:orientation="vertical"
android:layout_
android:layout_
>
android:id="@+id/wifi"
android:layout_
android:layout_
android:text="@string/hello"
/>
2、写java代码,新建个Activity,代码如下:
package com.archermind.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.WifiManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView wifiText;
private WifiManager wifiManager;
private StringBuilder sb;
private List wifiList;
private WifiReceiver wifiReceiver;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sb = new StringBuilder();
wifiText = (TextView) findViewById(R.id.wifi);
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifiReceiver = new WifiReceiver();
registerReceiver(wifiReceiver, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
wifiManager.startScan();
wifiText.setText("\nStarting Scan\n");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "Refresh");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
wifiManager.startScan();
wifiText.setText("Starting Scan");
return super.onMenuItemSelected(featureId, item);
}
@Override
protected void onPause() {
unregisterReceiver(wifiReceiver);
super.onPause();
}
@Override
protected void onResume() {
registerReceiver(wifiReceiver, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
super.onResume();
}
private final class WifiReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
sb = new StringBuilder();
wifiList = wifiManager.getScanResults();
for (int i = 0; i sb.append(new Integer(i + 1).toString() + ".");
sb.append((wifiList.get(i)).toString()).append("\n\n");
}
wifiText.setText(sb.toString());
}
}
}
3、申请相关权限,代码如下: