Android, टेदरिंग के साथ-साथ वाई-फ़ाई हॉटस्पॉट (सॉफ़्ट एपी) के साथ काम करता है वाई-फ़ाई हॉटस्पॉट और सिर्फ़-स्थानीय वाई-फ़ाई हॉटस्पॉट के ज़रिए.
सॉफ़्ट एपी सुविधा की मदद से, इन्हें कॉन्फ़िगर किया जा सकता है:
- SSID और BSSID
- सुरक्षा प्रकार (WPA3 सहित)
- छिपा हुआ SSID
- ऑपरेटिंग बैंड और चैनल (ACS सहित)
- अनुमति वाले क्लाइंट की ज़्यादा से ज़्यादा संख्या
- अपने-आप बंद होने की सुविधा के लिए टाइम आउट की वैल्यू
- अनुमति वाली सूची और ब्लॉकलिस्ट, ताकि उपयोगकर्ता जुड़े हुए डिवाइसों को कंट्रोल कर सके
- AP BSSID के लिए एमएसी रैंडमाइज़ेशन का लेवल
- 802.11ax और 802.11be
डिवाइस की क्षमताओं से यह तय होता है कि ये कंट्रोल उपलब्ध होंगे या नहीं. Android 11 में इन सुविधाओं का ऐक्सेस पाने के लिए एपीआई उपलब्ध कराए गए हैं सुविधाएं. डिवाइस बनाने वाली कंपनियां भी यह तय कर सकती हैं कि डिवाइस में कौन-कौनसी अनुमतियां उपलब्ध हैं का इस्तेमाल किया जा सकता है.
ध्यान दें कि कुछ एपीआई, सिस्टम एपीआई हैं और इनके ज़रिए प्रतिबंधित किए गए हैं अनुमतियां दी होती हैं ताकि केवल सिस्टम का सेटिंग ऐप्लिकेशन उन्हें ऐक्सेस कर सके.
हॉटस्पॉट एपीआई की मदद से ऐप्लिकेशन डेवलप करना
टेदर किए गए वाई-फ़ाई हॉटस्पॉट को डिफ़ॉल्ट रूप से लागू करने की सुविधा एओएसपी उपलब्ध कराता है Settings ऐप्लिकेशन का इस्तेमाल करें. हालांकि, यह सॉफ़्ट एपी के सभी एपीआई का इस्तेमाल नहीं करता कॉन्फ़िगरेशन.
हॉटस्पॉट या सिर्फ़-स्थानीय हॉटस्पॉट से टेदरिंग की सुविधा पाने के लिए, ऐप्लिकेशन को ये काम करने होंगे:
इसका इस्तेमाल करके डिवाइस की सुविधाएं पाने के लिए, कॉलबैक को रजिस्टर करें टेदर किए गए हॉटस्पॉट के लिए
WifiManager#registerSoftApCallback
या सिर्फ़ स्थानीय जगह के लिएWifiManager#registerLocalOnlyHotspotSoftApCallback
हॉटस्पॉट.SoftApCallback
कॉलबैक ये तरीके उपलब्ध कराता है:SoftApCallback#onCapabilityChanged
: इससे डिवाइस की क्षमताओं के बारे में जानकारी मिलती है. इसमें उन सुविधाओं की जानकारी भी शामिल होती है जो इससे ज़्यादा समर्थित क्लाइंट की संख्या और यह भी जान सकते हैं कि SAE या ACS समर्थित हैं या नहीं.SoftApCallback#onInfoChanged
: चल रहे सॉफ़्ट एपी के बारे में जानकारी देता है (सिर्फ़ एक बार मान्य है शुरू करें). इसमें बैंड और फ़्रीक्वेंसी की जानकारी शामिल है.SoftApCallback#onConnectedClientsChanged
: कनेक्ट किए गए क्लाइंट की सूची देता है. हर क्लाइंट के लिए, आपके पास MAC पता. आईपी जानकारी पाने के लिए,TetheringEventCallback#onClientsChanged
कॉलबैक.SoftApCallback#onStateChanged
: सॉफ़्ट AP के चालू होने पर उसकी स्थिति के बारे में अपडेट देता है और बंद किया गया.SoftApCallback#onBlockedClientConnecting
: ब्लॉक किए गए क्लाइंट की जानकारी देने के लिए, इनमें से किसी एक तरीके का इस्तेमाल किया जाता है रोक की वजह: डिवाइस इससे ज़्यादा क्लाइंट का समर्थन कर सकता है या क्लाइंट को स्पष्ट रूप से अधिकृत नहीं किया गया है कनेक्ट करें.
टेदर किए गए हॉटस्पॉट के लिए:
- टेदरिंग के लिए सॉफ़्ट एपी कॉन्फ़िगरेशन को कॉन्फ़िगर करने के लिए
WifiManager#setSoftApConfiguration
से जुड़ने का तरीका औरSoftApConfiguration
इंस्टेंस उपलब्ध कराकर. निर्माण करनाSoftApConfiguration
का इस्तेमाल करकेSoftApConfiguration.Builder
क्लास. - टेदरिंग प्रारंभ करने के लिए
TetheringManager#startTethering
.
सिर्फ़ लोकल हॉटस्पॉट के लिए:
- इसके हिसाब से, खास सॉफ़्ट एपी कॉन्फ़िगरेशन के साथ सिर्फ़-स्थानीय हॉटस्पॉट चालू करें
कॉल करो
WifiManager#startLocalOnlyHotspot
तरीका.
अनुमति देने और ब्लॉक करने वाली सूचियों को लागू करना
मोबाइल और इंटरनेट सेवा देने वाली एक सामान्य शर्त यह है कि उपयोगकर्ता को ऐसे डिवाइस जिन्हें सॉफ़्ट एपी से असोसिएट करने की अनुमति है. कई ये तरीके अपनाएं:
- सॉफ़्ट एपी से कनेक्ट किए जा सकने वाले डिवाइसों की ज़्यादा से ज़्यादा संख्या तय करें
SoftApConfiguration.Builder#setMaxNumberOfClients
का इस्तेमाल करके. पक्का करें कि एक संख्या निर्दिष्ट करें जो समर्थित क्लाइंट की अधिकतम संख्या से कम हो से कनेक्ट होता है. आप यहां से ज़्यादा से ज़्यादा संख्या मेंSoftApCapability#getMaxSupportedClients
. अनुमति दें और ब्लॉक करें सूचियों का इस्तेमाल करके, डाइनैमिक कंट्रोल दें:
- सॉफ़्ट एपी के डिफ़ॉल्ट कॉन्फ़िगरेशन से, सभी डिवाइस ये काम कर पाते हैं
सॉफ़्ट AP से असोसिएट करें. हालांकि, उन डिवाइसों को शामिल नहीं किया जाएगा जिनके MAC पते
SoftApConfiguration.Builder#setBlockedClientList
में जोड़ा गया. अगर सॉफ़्ट AP को इसके साथ कॉन्फ़िगर किया गया है
SoftApConfiguration.Builder#setClientControlByUserEnabled(true)
, अनुमति वाली सूची का इस्तेमाल किया जाता है.- वे सभी डिवाइस जिनके MAC पते हैं
SoftApConfiguration.Builder#setBlockedClientList
को यहां से ब्लॉक किया गया है असोसिएशन. - वे सभी डिवाइस जिनके MAC पते हैं
SoftApConfiguration.Builder#setAllowedClientList
की अनुमति है असोसिएशन. - दूसरे सभी डिवाइस (ऐसे डिवाइस जिन पर MAC पते का इस्तेमाल किया जाता है)
अनुमति दें या ब्लॉक करें सूची में नहीं हैं)
असोसिएशन, लेकिन
SoftApCallback#onBlockedClientConnecting
है कॉल किया गया. इसकी मदद से, कंट्रोल करने वाले ऐप्लिकेशन (सेटिंग ऐप्लिकेशन) को कोई कार्रवाई करें. उदाहरण के लिए, उपयोगकर्ता से पुष्टि करने के लिए कहना और इसके बाद, डिवाइस को अनुमति वाली सूची या ब्लॉक सूची में जोड़ें उपयोगकर्ता के व्यवहार के हिसाब से.
- वे सभी डिवाइस जिनके MAC पते हैं
ध्यान दें कि डिवाइस अनुमति वाली सूची की सुविधा का इस्तेमाल सिर्फ़ तब कर सकते हैं, जब डिवाइस पर काम करता है. इनका इस्तेमाल करके, डिवाइस पर काम करने की सुविधा की पुष्टि की जा सकती है
SoftApCapability#areFeaturesSupported(SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT)
.- सॉफ़्ट एपी के डिफ़ॉल्ट कॉन्फ़िगरेशन से, सभी डिवाइस ये काम कर पाते हैं
सॉफ़्ट AP से असोसिएट करें. हालांकि, उन डिवाइसों को शामिल नहीं किया जाएगा जिनके MAC पते
लागू करना
हॉटस्पॉट के ज़रिए टेदरिंग की सुविधा देने या सिर्फ़-स्थानीय हॉटस्पॉट पर काम करने के लिए, डिवाइस बनाने वाली कंपनियों को सेटिंग ऐप्लिकेशन, फ़्रेमवर्क, और HAL/फ़र्मवेयर समर्थन:
सेटिंग ऐप्लिकेशन: एओएसपी सेटिंग ऐप्लिकेशन, कॉन्फ़िगर करने के लिए एक बेसलाइन उपलब्ध कराता है SSID और सुरक्षा क्रेडेंशियल वाला टेदरिंग हॉटस्पॉट. यह कोड इनमें से कोई भी हो सकता है: जैसा बताया गया है, अतिरिक्त सुविधाएं देने के लिए इसका इस्तेमाल किया गया है या इसमें बदलाव किया गया है हॉटस्पॉट एपीआई की मदद से ऐप्लिकेशन डेवलप करना में.
फ़्रेमवर्क: एओएसपी फ़्रेमवर्क कोड सभी फ़ंक्शन के साथ काम करता है हॉटस्पॉट एपीआई की मदद से ऐप्लिकेशन डेवलप करना में बताया गया है.
हॉटस्पॉट के लिए एचएएल/फ़र्मवेयर: HIDL आईहोस्टापड.हैल 1.2 या इसके बाद वाला वर्शन या एआईडीएल IHostapd.aidl.
पसंद के मुताबिक बनाएं
लागू करने की प्रोसेस को पसंद के मुताबिक बनाने के लिए, डिवाइस मैन्युफ़ैक्चरर को
जो मोबाइल और इंटरनेट सेवा देने वाली कंपनी के कॉन्फ़िगरेशन की जानकारी देते हैं.
packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
:
config_wifiFrameworkSoftApShutDownTimeoutMilliseconds
: डिफ़ॉल्ट शटडाउन टाइम आउट अंतराल. इस ऑफ़र का इस्तेमाल सिर्फ़ तब किया जा सकता है, जबSoftApConfiguration#setAutoShutdownEnabled
चालू है. बदला जा सकता हैSoftApConfiguration#setShutdownTimeoutMillis
का इस्तेमाल करके.config_wifiHardwareSoftapMaxClientCount
: इसके लिए हार्डवेयर की सीमा समर्थित क्लाइंट की अधिकतम संख्या. क्लाइंट की ज़्यादा से ज़्यादा संख्या यह ज़रूरी है कि इस डिवाइस में कम से कम हार्डवेयर और मोबाइल और इंटरनेट सेवा देने वाली कंपनी काम करती हो कंस्ट्रेंट (इसके द्वारा तयCarrierConfigManager.Wifi#KEY_HOTSPOT_MAX_CLIENT_COUNT
). आखिरी नतीजाSoftApCapabilities#getMaxSupportedClients
के साथ ऐप्लिकेशन में उपलब्ध कराया जाता है.config_wifiSofapClientForceDisconnectSupported
: डिवाइस में ये सुविधाएं हैं या नहीं क्लाइंट को ज़बरदस्ती डिसकनेक्ट करने की सुविधा उपलब्ध है. अनुमति देने की सुविधा चालू करने के लिए, इसे चालू करना ज़रूरी है और ब्लॉक लिस्ट भी दिखेंगी. कंट्रोल करने वाले ऐप्लिकेशन (सेटिंग ऐप्लिकेशन) को इसके ज़रिए सूचना दीSoftApCapabilities#areFeaturesSupported(SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT)
.- (13 से उपलब्ध)
config_wifiSoftapPassphraseAsciiEncodableCheck
: सॉफ़्ट एपी लंबा पासवर्ड, ASCII कोड में बदला जा सकता है या नहीं, इसकी ज़रूरत है या नहीं. config_wifiSoftapAutoUpgradeToBridgedConfigWhenSupported
: हो या नहीं के दौरान बैंड सेटिंग कॉन्फ़िगरेशन को ड्यूअल बैंड पर अपने-आप अपग्रेड करने के लिए नए डिवाइस के साथ काम करने पर क्लाउड कॉन्फ़िगरेशन पहले जैसा हो जाएगा.- (13 से उपलब्ध)
config_wifiSoftapAutoAppendLowerBandsToBandConfigurationEnabled
: क्या फ़्रेमवर्क, बैंड कॉन्फ़िगरेशन में अपने-आप लोअर बैंड को जोड़ देता है साथ ही, प्रॉडक्ट को साथ-साथ इस्तेमाल करने से भी बचें. config_wifiSoftApDynamicCountryCodeUpdateSupported
: डाइनैमिक है या नहीं एपी मोड में देश के कोड को अपडेट करने की सुविधा, डिवाइस पर काम करती है- चैनल से जुड़ी सहायता:
config_wifiSoftap2gChannelList
,config_wifiSoftap5gChannelList
,config_wifiSoftap6gChannelList
, औरconfig_wifiSoftap60gChannelList
. - यह तय करने वाली सहायता को बहाल करें कि क्या इससे जुड़ी एंट्री रीसेट की गई हैं
डिफ़ॉल्ट रूप से:
config_wifiSoftapResetChannelConfig
,config_wifiSoftapResetHiddenConfig
,config_wifiSoftapResetUserControlConfig
,config_wifiSoftapResetAutoShutdownTimerConfig
,config_wifiSoftapResetMaxClientSettingConfig
. ध्यान दें कि इन्हें डिफ़ॉल्ट रूप सेtrue
का मतलब है कि वैल्यू को रीसेट किया गया है. यह ज़रूरी है, अगर नए डिवाइस पर कॉन्फ़िगरेशन काम नहीं करता. - हार्डवेयर की सुविधाएं:
config_wifi_softap_acs_supported
config_wifi_softap_sae_supported
- (13 से उपलब्ध)
config_wifiSoftapOweTransitionSupported
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - (13 से उपलब्ध)
config_wifiSoftapOweSupported
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है config_wifi_softap_ieee80211ac_supported
config_wifiSoftapIeee80211axSupported
- (13 से उपलब्ध)
config_wifiSoftapIeee80211beSupported
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है config_wifiSoftapMacAddressCustomizationSupported
config_wifiSoftapHeSuBeamformerSupported
config_wifiSoftapHeSuBeamformeeSupported
config_wifiSoftapHeMuBeamformerSupported
config_wifiSoftapHeTwtSupported
config_wifiSoftap24ghzSupported
config_wifiSoftap5ghzSupported
config_wifiSoftap6ghzSupported
config_wifiSoftap60ghzSupported
config_wifiSoftapAcsIncludeDfs
पुष्टि करें
Android, यूनिट टेस्ट और कंपैटबिलिटी टेस्ट सुइट (सीटीएस) टेस्ट का सेट उपलब्ध कराता है हॉटस्पॉट की सुविधा की पुष्टि करें. हॉटस्पॉट की सुविधा की जांच करने के लिए, इनका इस्तेमाल भी किया जा सकता है वेंडर टेस्ट सुइट (वीटीएस).
यूनिट टेस्ट
नीचे दिए गए टेस्ट का इस्तेमाल करके हॉटस्पॉट पैकेज की पुष्टि करें.
सर्विस टेस्ट:
atest packages/modules/Wifi/service/tests/wifitests/
मैनेजर टेस्ट:
atest packages/modules/Wifi/framework/tests/
कंपैटबिलिटी टेस्ट सुइट (सीटीएस) के टेस्ट
हॉटस्पॉट की सुविधा की पुष्टि करने के लिए, सीटीएस जांच का इस्तेमाल करें. सीटीएस यह पता लगाता है कि सुविधा कब चालू है. साथ ही, वह अपने-आप संबंधित परीक्षण.
सीटीएस टेस्ट को ट्रिगर करने के लिए, इसे चलाएं:
atest android.net.wifi.cts.WifiManagerTest
वेंडर टेस्ट सुइट (वीटीएस)
अगर HIDL इंटरफ़ेस लागू है, तो चलाएं:
atest VtsHalWifiHostapdV1_2Target
अगर एआईडीएल इंटरफ़ेस लागू है, तो इसे चलाएं:
atest VtsHalHostapdTargetTest