इस (मिश्रण और Marakana और दूसरों से विभिन्न उत्तरों की मैच) एक साथ सब कुछ आप से निकालना चाहते हैं मिल जाएगा:
- सभी wifi राउटर रेंज में
- जुड़े वाईफ़ाई रूटर
सभी संग्रहीत वाईफाई नेटवर्क (अपने डिवाइस पर)
public String getCurrentSsid(Context context) {
String ssid = null;
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (networkInfo.isConnected()) {
final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
final WifiInfo connectionInfo = wifiManager.getConnectionInfo();
if (connectionInfo != null && !(connectionInfo.getSSID().equals(""))) {
//if (connectionInfo != null && !StringUtil.isBlank(connectionInfo.getSSID())) {
ssid = connectionInfo.getSSID();
}
// Get WiFi status MARAKANA
WifiInfo info = wifiManager.getConnectionInfo();
String textStatus = "";
textStatus += "\n\nWiFi Status: " + info.toString();
String BSSID = info.getBSSID();
String MAC = info.getMacAddress();
List<ScanResult> results = wifiManager.getScanResults();
ScanResult bestSignal = null;
int count = 1;
String etWifiList = "";
for (ScanResult result : results) {
etWifiList += count++ + ". " + result.SSID + " : " + result.level + "\n" +
result.BSSID + "\n" + result.capabilities +"\n" +
"\n=======================\n";
}
Log.v(TAG, "from SO: \n"+etWifiList);
// List stored networks
List<WifiConfiguration> configs = wifiManager.getConfiguredNetworks();
for (WifiConfiguration config : configs) {
textStatus+= "\n\n" + config.toString();
}
Log.v(TAG,"from marakana: \n"+textStatus);
}
return ssid;
}
अस्वीकरण: जबकि यह काम कोड है, छद्म कोड नहीं, इसका एकमात्र उद्देश्य वाईफाई कनेक्शन से डेटा निष्कर्षण के तरीकों को चित्रित करना है और इसे उपयोग से पहले अनुकूलित (और साफ) किया जाना चाहिए।
स्रोत
2013-04-12 16:12:51
क्या किसी को पता है कि ऐसा करने के लिए किन अनुमतियों की आवश्यकता है? –
android.permission.ACCESS_WIFI_STATE –