Handler handler = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == 1) {
String wserviceName = Context.WIFI_SERVICE;
WifiManager wm = (WifiManager) getSystemService(wserviceName);
WifiInfo info = wm.getConnectionInfo();
int strength = info.getRssi();
int speed = info.getLinkSpeed();
String units = WifiInfo.LINK_SPEED_UNITS;
String ssid = info.getSSID();
tv = (TextView) findViewById(R.id.textView1);
List<ScanResult> results = wm.getScanResults();
String otherwifi = "检测到AP点: \n\n";
int[] ap;
ap = new int[10];
for (ScanResult result : results) {
if(result.SSID.equals("9#729"))
{
//apname.append(result.SSID + "");
ap[0]=result.level*(-1);
d0=(float) (0.02*(java.lang.Math.pow(2.71828,(strength*-0.1))));
}
if(result.SSID.equals("YHY"))
{
//apname.append(result.SSID + "");
ap[1]=result.level*(-1);
d1=(float) (0.02*(java.lang.Math.pow(2.71828,(strength*-0.1))));
}
if(result.SSID.equals("9#731"))
{
//apname.append(result.SSID + "");
ap[2]=result.level*(-1);
d2=(float) (0.02*(java.lang.Math.pow(2.71828,(strength*-0.1))));
}
if(result.SSID.equals("TP-LINK_366388"))
{
//apname.append(result.SSID + "");
ap[3]=result.level*(-1);
d3=(float) (0.02*(java.lang.Math.pow(2.71828,(strength*-0.1))));
}
//otherwifi += result.SSID + ": " + result.level*(-1) + "\n";
float A[][] = {{-7,0},{-7,12},{0,12}};
float b[] = {(float) (java.lang.Math.pow(d3,2)-java.lang.Math.pow(d0,2)-12.25),
(float) ((java.lang.Math.pow(d3,2)-java.lang.Math.pow(d1,2)-10000)+23.75),
(float) ((java.lang.Math.pow(d3,2)-java.lang.Math.pow(d2,2)-10000)+36)};
//float At[][] ={{-200,-200,0},{0,400,400}};
float AtA1At[][] = {{(float) -0.095,(float) -0.048,(float) 0.048},
{(float) -0.028,(float) 0.028,(float) 0.056}};
float zuobiao[] = {(float) ((-0.095*(java.lang.Math.pow(d3,2)-java.lang.Math.pow(d0,2)-12.25))+(-.048*((java.lang.Math.pow(d3,2)-java.lang.Math.pow(d1,2))+23.75))+(0.048*((java.lang.Math.pow(d3,2)-java.lang.Math.pow(d2,2))+36))),
(float) ((-0.028*(java.lang.Math.pow(d3,2)-java.lang.Math.pow(d0,2)-12.25))+(0.028*((java.lang.Math.pow(d3,2)-java.lang.Math.pow(d1,2))+23.75)+(0.056*((java.lang.Math.pow(d3,2)-java.lang.Math.pow(d2,2))+36))))};
otherwifi = "你现在的位置:\n\n"+"("+(int) ((-0.095*(java.lang.Math.pow(d3,2)-java.lang.Math.pow(d0,2)-12.25))+(-.048*((java.lang.Math.pow(d3,2)-java.lang.Math.pow(d1,2))+23.75))+(0.048*((java.lang.Math.pow(d3,2)-java.lang.Math.pow(d2,2))+36)))
+","+
(int) ((-0.028*(java.lang.Math.pow(d3,2)-java.lang.Math.pow(d0,2)-12.25))+(0.028*((java.lang.Math.pow(d3,2)-java.lang.Math.pow(d1,2))+23.75)+(0.056*((java.lang.Math.pow(d3,2)-java.lang.Math.pow(d2,2))+36))))
+")"+"\n\n"+d0+"\n\n"+d1+"\n\n"+d2+"\n\n"+d3+"\n\n";
}
// double y =java.lang.StrictMath.pow(strength*-1,1.0/n);
//+ " at " + String.valueOf(speed) + " " + String.valueOf(units)
//String text = "[现在连接到] " + ssid + ". 强度 : " + ((strength)+200) + "\n\n" + "[距离AP点大致距离]:\n"+ 0.02*(java.lang.Math.pow(2.71828,(strength*-0.1)))+"米";
//otherwifi += "\n\n";
//otherwifi += text;
tv.setText(otherwifi);
}
super.handleMessage(msg);
};
};
我就想问,那个strength变量,第一个if判断成功后,他的值就不变了,导致后面几个wifi的强度都一样………………谁能教我怎么改一下…………