यह उदाहरण दर्शाता है कि Android के लिए WiFi स्कैनर कैसे विकसित करें
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
पूर्व> चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ें <पूर्व>पैकेज com.example.myapplication;import android.Manifest;import android.content.Context;import android.content.IntentFilter;import android.content.pm.PackageManager;import android.net.wifi.WifiManager;import android. os.Build;import android.support.annotation.NonNull;import android.support.v4.app.ActivityCompat;import android.support.v4.content.ContextCompat;import android.support.v7.app.AppCompatActivity;import android.os बंडल; आयात android.view.View; android.widget.Button आयात करें; android.widget.ListView आयात करें; android.widget.Toast आयात करें; सार्वजनिक वर्ग MainActivity AppCompatActivity का विस्तार करता है {निजी सूची दृश्य वाईफ़ाई सूची; निजी वाईफ़ाई प्रबंधक वाईफ़ाई प्रबंधक; निजी अंतिम इंट MY_PERMISSIONS_ACCESS_COARSE_LOCATION =1; वाईफ़ाई रिसीवर रिसीवर वाईफ़ाई; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); वाईफाईलिस्ट =findViewById (R.id.wifiList); बटन बटन स्कैन =findViewById (R.id.scanBtn); वाईफ़ाई प्रबंधक =(वाईफ़ाई प्रबंधक) getApplicationContext ()। getSystemService (संदर्भ.WIFI_SERVICE); अगर (!wifiManager.isWifiEnabled ()) { Toast.makeText(getApplicationContext (), "वाईफाई चालू करना...", Toast.LENGTH_LONG)। शो (); wifiManager.setWifiEnabled (सच); } बटनस्कैन.सेटऑनक्लिक लिस्टनर (नया व्यू। ऑनक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनक्लिक (व्यू वी) {अगर (एक्टिविटी कॉम्पैट.चेकसेल्फप्रमिशन (मेनएक्टिविटी। .यह, नई स्ट्रिंग [] {Manifest.permission.ACCESS_COARSE_LOCATION}, MY_PERMISSIONS_ACCESS_COARSE_LOCATION); } और {wifiManager.startScan (); }}}); } @Override संरक्षित शून्य onPostResume() {super.onPostResume(); रिसीवर वाईफाई =नया वाईफाई रिसीवर (वाईफाई मैनेजर, वाईफाईलिस्ट); इंटेंटफिल्टर इंटेंटफिल्टर =नया इंटेंटफिल्टर (); इंटेंटफिल्टर.एडएक्शन (वाईफाईमैनेजर.SCAN_RESULTS_AVAILABLE_ACTION); रजिस्टर रिसीवर (रिसीवर वाईफाई, इंटेंटफिल्टर); गेटवाईफाई (); } निजी शून्य getWifi () { अगर (बिल्ड। संस्करण। SDK_INT> =बिल्ड.VERSION_CODES.M) { Toast.makeText (MainActivity.this, "संस्करण> =मार्शमैलो", टोस्ट। LENGTH_SHORT)। शो (); अगर (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION)! =PackageManager.PERMISSION_GRANTED) { Toast.makeText(MainActivity.this, "स्थान बंद", Toast.LENGTH_SHORT)। शो (); ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, MY_PERMISSIONS_ACCESS_COARSE_LOCATION); } और { Toast.makeText(MainActivity.this, "स्थान चालू है", Toast.LENGTH_SHORT)। शो (); वाईफाईमैनेजर.स्टार्टस्कैन (); } } और { Toast.makeText(MainActivity.this, "स्कैनिंग", Toast.LENGTH_SHORT)। शो (); वाईफाईमैनेजर.स्टार्टस्कैन (); } } @Override संरक्षित शून्य पर रोकें () {super.onPause (); अपंजीकृत रिसीवर (रिसीवर वाईफाई); } @Override सार्वजनिक शून्य onRequestPermissionsResult(int requestCode, @NonNull String[] अनुमतियां, @NonNull int[] GrantResults) {super.onRequestPermissionsResult(requestCode, अनुमतियां, GrantResults); स्विच (अनुरोध कोड) { मामला MY_PERMISSIONS_ACCESS_COARSE_LOCATION:अगर (grantResults.length> 0 &&अनुदान परिणाम [0] ==PackageManager.PERMISSION_GRANTED) { Toast.makeText(MainActivity.this, "अनुमति दी गई", Toast.LENGTH_SHORT)। वाईफाईमैनेजर.स्टार्टस्कैन (); } और { Toast.makeText(MainActivity.this, "अनुमति नहीं दी गई", Toast.LENGTH_SHORT)। शो (); वापसी; } तोड़ना; } }}पूर्व>चरण 4 - निम्न कोड को src/WifiReceiver में जोड़ें
<पूर्व>पैकेज com.example.myapplication;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.wifi.ScanResult;import android.net.wifi.WifiManager;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;import java.util.ArrayList;import java.util.List;class WifiReceiver BroadcastReceiver का विस्तार करता है {WifiManager wifiManager; स्ट्रिंगबिल्डर एसबी; लिस्ट व्यू वाईफाईडिवाइसलिस्ट; सार्वजनिक WifiReceiver(WifiManager wifiManager, ListView wifiDeviceList) {this.wifiManager =wifiManager; this.wifiDeviceList =wifiDeviceList; } सार्वजनिक शून्य onReceive (संदर्भ संदर्भ, आशय आशय) {स्ट्रिंग क्रिया =आशय। getAction (); अगर (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) { sb =new StringBuilder (); सूची <स्कैन रिसेट> वाईफाईलिस्ट =वाईफाईमैनेजर.गेटस्कैन रिसेट्स (); ऐरेलिस्ट <स्ट्रिंग> डिवाइसलिस्ट =नया ऐरेलिस्ट <> (); के लिए (स्कैन रिसेट स्कैन रिसेट:वाईफाई लिस्ट) { sb.append("\n").append(scanResult.SSID).append(" - ").append(scanResult.capabilities); deviceList.add(scanResult.SSID + "-" + scanResult.capabilities); } टोस्ट.मेकटेक्स्ट (संदर्भ, एसबी, टोस्ट। LENGTH_SHORT)। शो (); ArrayAdapter arrayAdapter =नया ArrayAdapter (संदर्भ, android.R.layout.simple_list_item_1, deviceList.toArray ()); वाईफाईडिवाइसलिस्ट.सेट एडेप्टर (सरणी एडेप्टर); } }}पूर्व>चरण 5 - निम्न कोड को androidManifest.xml में जोड़ें
<एप्लिकेशन एंड्रॉइड:allowBackup ="true" android:icon ="@ mipmap/ic_launcher" android:लेबल ="@ string/app_name" android:RoundIcon ="@mipmap/ic_launcher_round" android:supportRtl ="true" android:theme ="@style/AppTheme"> <गतिविधि android:name ="com.example.myapplication.MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई android:name ="android.intent.action.MAIN" /> <श्रेणी android:name ="android.intent.category.LAUNCHER" /> आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और रन पर क्लिक करें टूलबार से आइकन। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -