Listagem de SSID, RSSI, MAC

  • Respostas:0
Enrique M.
  • Posts no fórum: 1

02/04/2017, 07:52:04 via Web

Preciso de ajuda com um pequeno projeto pessoal.
quero só listar os sinais de wifi.
Quero tentar desenvolver um app para localizar AP's. através do rssi.

Sou um programador iniciante em java/android.

então peguem leve.

Código:
package martel.enrique.tentativa01;

import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ListView;

public class MainActivity extends AppCompatActivity implements InfoWifi{

@Override
protected void onCreate(Bundle savedInstanceState)  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ListView wifi = new ListView();
    wifi = (ListView) findViewById(R.id.lista);
}

@Override
public String setInfoWifi(Context context) {
    return null;
}

}

interface:
package martel.enrique.tentativa01;

import android.annotation.SuppressLint;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi;

/**
* Created by Enrique Martel on 02/04/2017.
*/

public interface InfoWifi {
public String setInfoWifi(Context context){
return this.getInfoSSID(context) + this.getInfoWifi(context) + this.getWifiMacAddress(context);
}

private String getInfoSSID(Context context) {
    @SuppressLint("WifiManagerPotentialLeak")
    WifiManager myWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    WifiInfo myWifiInfo = myWifiManager.getConnectionInfo();
    String wifiSSID = myWifiInfo.getSSID();
    return wifiSSID ;
}

@NonNull
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
private String getInfoWifi(Context context) {
    @SuppressLint("WifiManagerPotentialLeak")
    WifiManager myWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    WifiInfo myWifiInfo = myWifiManager.getConnectionInfo();
    int wifiRssi = myWifiInfo.getRssi();
    double wifiFrequency = myWifiInfo.getFrequency();
    return String.valueOf(wifiRssi + wifiFrequency);
}

@Nullable
private static String getWifiMacAddress(Context context) {
    WifiManager myWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    if (myWifiManager == null)
        return null;
    WifiInfo myWifiInfo = myWifiManager.getConnectionInfo();
    if (myWifiInfo == null)
        return null;
    return myWifiInfo.getMacAddress();
}

}

Responder