【问题标题】:How can you find available WiFi devices? [closed]如何找到可用的 WiFi 设备? [关闭]
【发布时间】:2012-05-16 11:14:06
【问题描述】:

我想编写一个应用程序来搜索可用的 WiFi 设备并进行连接。 有谁知道如何在android中做到这一点? 谢谢你的帮助

【问题讨论】:

  • 您是指连接到 wifi 网络的应用程序吗?请更具体。
  • 你可能会看this solution,但我不确定,因为它只是一个博客。
  • 我的意思是连接无线传感器设备和智能手机

标签: java android android-wifi


【解决方案1】:

使用以下代码获取可用的 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 Test_allActivity extends Activity {
 TextView mainText;
 WifiManager mainWifi;
 WifiReceiver receiverWifi;
 List<ScanResult> wifiList;
 StringBuilder sb = new StringBuilder();

public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 mainText = (TextView) findViewById(R.id.mainText);
 mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
 receiverWifi = new WifiReceiver();
 registerReceiver(receiverWifi, new IntentFilter(
 WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
 mainWifi.startScan();
 mainText.setText("\nStarting Scan...\n");
 }

public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "Refresh");
return super.onCreateOptionsMenu(menu);
}

public boolean onMenuItemSelected(int featureId, MenuItem item) {
  mainWifi.startScan();
  mainText.setText("Starting Scan");
  return super.onMenuItemSelected(featureId, item);
}

protected void onPause() {
  unregisterReceiver(receiverWifi);
  super.onPause();
}

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");
  }
 mainText.setText(sb);
  }
 }
}

【讨论】:

  • 我的意思是连接无线传感器设备和智能手机。
  • 你应该清楚你的问题
  • 我们的传感器节点通过 wifi 发送数据。因此,我必须连接安卓智能手机和传感器节点。
猜你喜欢
  • 1970-01-01
  • 2017-07-17
  • 1970-01-01
  • 2021-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多