public class WIFIScanner extends Activity implements OnClickListener {
private static final String TAG = "WIFIScanner";
WifiManager wifimanager;
TextView textStatus;
Button btnScanStart;
Button btnScanStop;
Bitmap m_My;
private int scanCount = 0;
String text = "";
String result = "";
Bitmap m_BackGroundImage;
private List<ScanResult> mScanResult;
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
getWIFIScanResult();
wifimanager.startScan();
}
else if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
sendBroadcast(new Intent("wifi.ON_NETWORK_STATE_CHANGED"));
}
}
};
public void getWIFIScanResult() {
mScanResult = wifimanager.getScanResults();
textStatus.setText("count :\t" + ++scanCount + "\n");
textStatus.append("=======================================\n");
String bssid = "90:9f:33:67:c4:30";
String bssid2 = "64:e5:99:45:61:bc";
String bssid3 = "00:08:9f:1e:72:54";
String bssid4 = "00:40:5a:bb:a8:29";
String bssid5 = "00:40:5a:bb:be:31";
String bssid6 = "00:40:5a:bb:4e:09";
for (int i = 0; i < mScanResult.size(); i++){
ScanResult result = mScanResult.get(i);
if (bssid.equals(result.BSSID.toString())){
aaabbb(null);
}
}
textStatus.append("=======================================\n");
}
public void wifiView(Context context){
m_My = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
}
public void aaabbb(Canvas canvas){
ScanResult result = mScanResult.get(0);
String level = "";
if (result.level <= -20 && result.level >= -40)
canvas.drawBitmap(m_My, 110, 220, null);
else if (result.level <= -41 && result.level >= -60)
canvas.drawBitmap(m_My, 110, 220, null);
else if(result.level <= -61 && result.level >= -80)
level = "거리 : 15m";
else if(result.level <= -81 && result.level >= -100)
level = "거리 : 20m";
else
level = "";
textStatus.append("SSID : " + result.SSID.toString() + "\t\t RSSI : " + result.level +"dBm" + "\t\t" + level + "\n" + "BSSID : " + result.BSSID +"\n");
}
public void initWIFIScan() {
scanCount = 0;
text = "";
final IntentFilter filter = new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
registerReceiver(mReceiver, filter);
wifimanager.startScan();
Log.d(TAG, "initWIFIScan()");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wifiscanner);
ImageButton imgbtn = (ImageButton)findViewById(R.id.imageButton1);
imgbtn.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
finish();
}
});
textStatus = (TextView) findViewById(R.id.textStatus);
btnScanStart = (Button) findViewById(R.id.btnScanStart);
btnScanStop = (Button) findViewById(R.id.btnScanStop);
btnScanStart.setOnClickListener(this);
btnScanStop.setOnClickListener(this);
wifimanager = (WifiManager) getSystemService(WIFI_SERVICE);
Log.d(TAG, "Setup WIfiManager getSystemService");
if (wifimanager.isWifiEnabled() == false) wifimanager.setWifiEnabled(true);
}
public void printToast(String messageToast) {
Toast.makeText(this, messageToast, Toast.LENGTH_LONG).show();
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.btnScanStart) {
Log.d(TAG, "OnClick() btnScanStart()");
initWIFIScan();
}
if (v.getId() == R.id.btnScanStop) {
Log.d(TAG, "OnClick() btnScanStop()");
unregisterReceiver(mReceiver);
}
}
}
getWIFIScanResult에서 결과 텍스트를 출력합니다 if문에 따라서
텍스트를 출력했었는데 이미지로 출력하고싶습니다 위치는 제가 원하는곳에 하고싶습니다
그래서 저렇게 해봣는데 에러가 뜹니다 도와주세요
