我有这个代码:
List<ScanResult> vAll = null;
WifiManager vMainWifi = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wi_fi);
vMainWifi = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
vAll = getWiFi();
}
public void btnViewWiFI_onClick(View v) {
TextView vTmpTextView = (TextView) findViewById(R.id.tvRetele);
String vString = "WiFi:";
List<String> vLista = getWiFiString();
if (vLista != null) {
for (int i = 0; i < vLista.size(); i++)
vString += "\n\t" + vLista.get(i);
}
vTmpTextView.setText(vString);
}
List<ScanResult> getWiFi() {
if (vAll != null)
return vAll;
if (vMainWifi.isWifiEnabled())
return vMainWifi.getScanResults();
else {
vMainWifi.setWifiEnabled(true);
return vMainWifi.getScanResults();
}
}
List<String> getWiFiString() {
List<String> vTmp = null;
if (vAll == null)
vAll = getWiFi();
if (vAll != null) {
for (int i = 0; i < vAll.size(); i++)
vTmp.add(vAll.get(i).BSSID + ", " + vAll.get(i).SSID);
}
return vTmp;
}
在布局 xml
<TextView
android:id="@+id/tvRetele"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="94dp" />
<Button
android:id="@+id/btnViewWiFI"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="145dp"
android:layout_marginTop="233dp"
android:onClick="btnViewWiFI_onClick"
android:text="@string/viewWiFi" />
在清单文件中我有这个
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
如果我尝试调试它,我会得到空列表,可能是因为我收到 WiFi 网络错误,但是当我上传到手机并安装此应用程序时,当我按下按钮时会崩溃。我做错了什么?