آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

نمایش لیست wifi در اپلیکیشن موبایل

afr_msb  9 سال پیش  9 سال پیش
0 0

با سلام . من میخوام به محض اجرا شدن اپ اندرودم علاوه بر روشن شدن اتوماتیک wifi لیست wifi های موجود هم برام نمایش بدهد در روشن کردن wifi مشکلی نیست برای لیست wifi  ها کد زیر را نوشتم . 

//Start List Wifi

String networkSSID = "test";
String networkPass = "pass";

WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + networkSSID + "\"";

conf.wepKeys[0] = "\"" + networkPass + "\"";
conf.wepTxKeyIndex = 0;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);

conf.preSharedKey = "\""+ networkPass +"\"";

//conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);

WifiManager wifiManager = (WifiManager) G.context.getSystemService(Context.WIFI_SERVICE);
wifiManager.addNetwork(conf);

List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();

break;
}
}

//End List Wifi
 

List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
در این قسمت مشکل پیدا میکند و پرمیژن میخواد البته من پرمیبژن مربوطه هم در منیفست گذاشتم ولی همچنان مشکل دارم
0 0
این کدی که گذاشتین اتصال به یک وایفای خاص هست. این کدها متاسفانه برای من هم کار نکرد. (9 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Mahdi.Esb  9 سال پیش
+2 0

ابتدا باید دستری به وای فای رو توی منیفست صادر کنید :

 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 

حالا لیست وای فای های موجود رو میگیریم :

List<ScanResult> mScanResults = mWifiManager.getScanResults();
ScanResult bestResult = null;
for(ScanResult results : mScanResults){
   Log.d("result",results.SSID);
   if(bestResult == null || WifiManager.compareSignalLevel(bestResult.level,
                                                         results.level) < 0){
      bestResult = results;
   }
}
String message = String.format("%s networks found. %s is the strongest.", 
                                           mScanResults.size(), bestResult.SSID);

این کد نه تنها لیست وای فای های موجود رو میده بلکه قوی ترین اونها رو هم مشخص میکنه

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .