يوفِّر Android إمكانية استخدام نقطة اتصال Wi-Fi (Soft AP)، بما في ذلك التوصيل. من خلال نقطة اتصال Wi-Fi ونقاط اتصال Wi-Fi محلية فقط.
تسمح ميزة soft AP بضبط ما يلي:
- SSID ومعرّف مجموعة الخدمات الأساسية (BSSID)
- نوع الأمان (بما في ذلك WPA3)
- SSID مخفي
- نطاق التشغيل والقناة (بما في ذلك خادم ACS)
- الحد الأقصى لعدد العملاء المسموح بهم
- قيمة مهلة إيقاف التشغيل التلقائي
- القائمة المسموح بها والقائمة المحظورة للسماح للمستخدمين بالتحكّم في الأجهزة المرتبطة
- مستوى التوزيع العشوائي لعنوان MAC لمعرّف AP BSSID
- 802.11ax و802.11be
تحدِّد إمكانات الجهاز مدى توفُّر عناصر التحكّم هذه. يوفّر Android 11 واجهات برمجة تطبيقات للحصول على هذه والإمكانات. يمكن للشركات المصنّعة للأجهزة أيضًا تحديد إمكانات الأجهزة الأساسية. باستخدام التراكبات.
تجدر الإشارة إلى أنّ بعض واجهات برمجة التطبيقات هي واجهات برمجة تطبيقات للنظام ويتم فرض قيود عليها من خلال الأذونات بحيث لا يمكن الوصول إليها إلا من خلال تطبيق "الإعدادات" في النظام.
تطوير التطبيقات باستخدام واجهات برمجة التطبيقات لنقاط الاتصال
يوفّر بروتوكول AOSP التنفيذ التلقائي لنقطة اتصال Wi-Fi المتصلة. تطبيق الإعدادات، ومع ذلك لا يمارس جميع واجهات برمجة التطبيقات لـ Soft AP التكوين.
لإتاحة التوصيل من خلال نقطة اتصال أو نقطة اتصال محلية فقط، يجب أن يؤدي التطبيق الوظائف التالية:
تسجيل معاودة الاتصال للاستفادة من إمكانات الجهاز باستخدام
WifiManager#registerSoftApCallback
لنقطة اتصال متصلة أوWifiManager#registerLocalOnlyHotspotSoftApCallback
المحلي فقط نقطة الاتصال.توفّر ميزة معاودة الاتصال
SoftApCallback
الطرق التالية:SoftApCallback#onCapabilityChanged
: تقدّم معلومات حول إمكانيات الجهاز، بما في ذلك الحد الأقصى وعدد البرامج المتوافقة وما إذا كانت متوافقة مع معايير SAE أو ACS.SoftApCallback#onInfoChanged
: يوفّر هذا القسم معلومات عن "نقطة الوصول النائية" الحالية (صالحة مرّة واحدة فقط). تبدأ)، بما في ذلك معلومات النطاق والتردد.SoftApCallback#onConnectedClientsChanged
: توفر قائمة بالعملاء المرتبطين. لكل عميل، يمكنك الحصول على عنوان MAC. للحصول على معلومات عنوان IP، استخدم معاودة الاتصال "TetheringEventCallback#onClientsChanged
"SoftApCallback#onStateChanged
: يقدّم هذا القسم آخر الأخبار عن حالة Soft AP عند تفعيله. غير مفعّل.SoftApCallback#onBlockedClientConnecting
: يؤدي هذا الخيار إلى توفير أحد المعلومات التالية حول معلومات العميل المحظور. أسباب الحظر: وصل الجهاز إلى الحد الأقصى التي يمكنها دعمها أو غير مصرَّح له صراحةً الاتصال.
إذا كانت هناك نقطة اتصال متصلة:
- يمكنك ضبط ضبط نقطة الوصول الثابتة للاتصال من خلال طلب
WifiManager#setSoftApConfiguration
وتقديم مثيلSoftApConfiguration
. إنشاءSoftApConfiguration
باستخدامSoftApConfiguration.Builder
الصف. - ابدأ التوصيل من خلال طلب طريقة التوصيل على
TetheringManager#startTethering
بالنسبة إلى نقطة الاتصال المحلية فقط:
- يمكنك بدء نقطة الاتصال المحلية فقط باستخدام إعدادات soft AP معيّنة من خلال
واستدعاء
WifiManager#startLocalOnlyHotspot
.
تنفيذ قوائم السماح والحظر
أحد المتطلبات المعتادة لمشغِّل شبكة الجوّال هو تزويد المستخدم بعناصر تحكُّم في الأجهزة المسموح لها بالربط بـ Soft AP. هناك العديد من آليات لإجراء ذلك:
- الحدّ الأقصى لعدد الأجهزة التي يمكن ربطها بنقطة الوصول النائية
باستخدام
SoftApConfiguration.Builder#setMaxNumberOfClients
. احرص على ما يلي: تحديد رقم أقل من الحد الأقصى لعدد البرامج المتوافقة بجانب الجهاز. يمكنك الحصول على الحد الأقصى للعدد منSoftApCapability#getMaxSupportedClients
توفير عنصر تحكّم ديناميكي باستخدام قوائم السماح والحظر:
- يسمح الضبط التلقائي لنقطة الوصول (Soft AP) لجميع الأجهزة
بنقطة الوصول soft AP باستثناء الأجهزة التي تكون عناوين MAC الخاصة بها
تمت الإضافة إلى
SoftApConfiguration.Builder#setBlockedClientList
. إذا تم ضبط نقطة الوصول النائية باستخدام
SoftApConfiguration.Builder#setClientControlByUserEnabled(true)
, استخدام قائمة السماح.- جميع الأجهزة التي توجد عناوين MAC الخاصة بها
تم حظر
SoftApConfiguration.Builder#setBlockedClientList
من المرتبطة بها. - جميع الأجهزة التي توجد عناوين MAC الخاصة بها
مسموح باستخدام
SoftApConfiguration.Builder#setAllowedClientList
المرتبطة بها. - جميع الأجهزة الأخرى (أي الأجهزة التي تحتوي عناوين MAC الخاصة بها على
غير موجودة في قائمة السماح أو الحظر) محظورة من
عملية ربط ولكن
SoftApCallback#onBlockedClientConnecting
السماح للتطبيق المتحكّم (أي تطبيق الإعدادات) اتخاذ إجراء، على سبيل المثال، مطالبة المستخدم بالتأكيد ثم إضافة الجهاز إلى قائمة السماح أو إلى قائمة الحظر استنادًا إلى سلوك المستخدم.
- جميع الأجهزة التي توجد عناوين MAC الخاصة بها
تم حظر
يُرجى العلم أنّه لا يمكن للأجهزة استخدام وظيفة القائمة المسموح بها إلا إذا كانت: على الجهاز. يمكنك التحقق من دعم الجهاز باستخدام
SoftApCapability#areFeaturesSupported(SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT)
- يسمح الضبط التلقائي لنقطة الوصول (Soft AP) لجميع الأجهزة
بنقطة الوصول soft AP باستثناء الأجهزة التي تكون عناوين MAC الخاصة بها
تمت الإضافة إلى
التنفيذ
لإتاحة التوصيل من خلال نقطة اتصال أو لإتاحة نقطة اتصال محلية فقط، على الشركات المصنّعة للأجهزة توفير تطبيق "الإعدادات" وإطار عمل دعم HAL/البرامج الثابتة:
تطبيق "الإعدادات": يوفّر تطبيق "إعدادات AOSP" أساسًا لضبط الإعدادات. نقطة اتصال توصيل باستخدام SSID وبيانات اعتماد الأمان. يمكن استخدام هذا الرمز استخدامها كما هي أو تعديلها لتوفير إمكانات إضافية على النحو الموضَّح في تطوير التطبيقات باستخدام واجهات برمجة التطبيقات لنقطة الاتصال.
إطار العمل: يتوافق رمز إطار عمل AOSP مع جميع الوظائف. كما هو موضَّح في مقالة تطوير التطبيقات باستخدام واجهات برمجة التطبيقات لنقاط الاتصال.
HAL/البرامج الثابتة لنقطة الاتصال: أي من HIDL IHostapd.hal الإصدار 1.2 أو إصدار أحدث، أو AIDL 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
: ما إذا كانت عبارة مرور soft AP مطلوبة للترميز ASCII أم لا. config_wifiSoftapAutoUpgradeToBridgedConfigWhenSupported
: ما إذا كان سيتم لترقية ضبط إعداد النطاق تلقائيًا إلى النطاقات المزدوجة أثناء استعادة إعدادات السحابة الإلكترونية عند توفُّر جهاز جديد.- (متاح ابتداءً من 13)
config_wifiSoftapAutoAppendLowerBandsToBandConfigurationEnabled
: ما إذا كان إطار العمل يلحق نطاقات أقل تلقائيًا بإعدادات النطاق لتجنب التعامل مع العمل المشترك. config_wifiSoftApDynamicCountryCodeUpdateSupported
: ما إذا كانت ديناميكية أم لا يتيح الجهاز تعديل رمز البلد في وضع AP.- دعم القناة:
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 مجموعة من اختبارات الوحدة واختبار مجموعة أدوات اختبار التوافق (CTS). للتحقق من صحة ميزة نقطة الاتصال. يمكن أيضًا اختبار ميزة نقطة الاتصال باستخدام حزمة اختبار البائع (VTS).
اختبارات الوحدات
يمكنك التحقق من حزمة نقطة الاتصال باستخدام الاختبارات التالية.
اختبارات الخدمة:
atest packages/modules/Wifi/service/tests/wifitests/
اختبارات المدير:
atest packages/modules/Wifi/framework/tests/
اختبارات مجموعة أدوات اختبار التوافق (CTS)
استخدِم اختبارات CTS للتحقّق من صحة ميزة نقطة الاتصال. تكتشف CTS متى يتم تمكين الميزة وتتضمن تلقائيًا الاختبارات المرتبطة بها.
لتشغيل اختبارات CTS، شغِّل:
atest android.net.wifi.cts.WifiManagerTest
حزمة اختبار المورّد (VTS)
في حال تنفيذ واجهة HIDL، شغِّل:
atest VtsHalWifiHostapdV1_2Target
في حال تنفيذ واجهة AIDL، شغِّل:
atest VtsHalHostapdTargetTest