Android, tethering dahil olmak üzere kablosuz hotspot (Yumuşak AP) desteği sağlar kablosuz hotspot ve yalnızca yerel kablosuz hotspot'lar üzerinden
Soft AP özelliği aşağıdakilerin yapılandırılmasına olanak tanır:
- SSID ve BSSID
- Güvenlik türü (WPA3 dahil)
- Gizli SSID
- Çalışma bandı ve kanalı (ACS dahil)
- İzin verilen maksimum istemci sayısı
- Otomatik kapatma zaman aşımı değeri
- İlişkili cihazları kullanıcıların kontrol etmesine izin vermek için izin verilenler ve engellenenler listeleri
- AP BSSID için MAC rastgele hale getirme düzeyi
- 802.11ax ve 802.11be
Bu denetimlerin kullanılabilirliği cihaz özellikleri tarafından belirlenir. Android 11, bunları elde etmek için API'leri kullanıma sunuyor. özellikler. Cihaz üreticileri, temel cihaz özelliklerini de belirtebilir ya da yer paylaşımlı reklamları kullanabilirsiniz.
Bazı API'lerin sistem API'leri olduğunu ve izinlerini yalnızca sistemin Ayarlar uygulamasının erişebilmesini sağlamak amacıyla kullanın.
Hotspot API'leriyle uygulama geliştirme
Tethering yapılan kablosuz hotspot'un varsayılan uygulaması AOSP tarafından sağlanır Ayarlar uygulaması ancak Soft AP için tüm API'leri uygulamıyor yapılandırma.
Hotspot veya yalnızca yerel hotspot üzerinden tethering'i desteklemek için Uygulama aşağıdaki işlevleri gerçekleştirmelidir:
Şunu kullanarak cihaz özelliklerinden yararlanmak için geri arama kaydedin: Tethered hotspot için
WifiManager#registerSoftApCallback
veyaWifiManager#registerLocalOnlyHotspotSoftApCallback
yalnızca yerel hotspot'a dokunun.SoftApCallback
geri çağırması aşağıdaki yöntemleri sağlar:SoftApCallback#onCapabilityChanged
: Maksimum sayı da dahil olmak üzere cihaz özellikleri hakkında bilgi sağlar. desteklenen istemci sayısı ve SAE veya ACS'nin desteklenip desteklenmediği gibi bilgileri içerir.SoftApCallback#onInfoChanged
: Çalışan Soft AP hakkında bilgi verir (yalnızca bir kez geçerlidir) bant ve frekans bilgileri dahil) gönderilir.SoftApCallback#onConnectedClientsChanged
: Bağlı istemcilerin bir listesini sağlar. Her müşteri için MAC adresi. IP bilgilerini almak için,TetheringEventCallback#onClientsChanged
geri arama.SoftApCallback#onStateChanged
: Etkinleştirildiğinde Soft AP'nin durumuyla ilgili güncellemeler sağlar ve devre dışı bırakıldı.SoftApCallback#onBlockedClientConnecting
: Engellenen müşteri bilgilerine aşağıdakilerden birini sağlar engelleme nedenleri: Cihazda izin verilen maksimum izin verilmemesine rağmen müşterinin destekleyebileceği bağla'ya dokunun.
Tethered hotspot'u için:
-
WifiManager#setSoftApConfiguration
yöntemini kullanarak ve birSoftApConfiguration
örneği sağlayarak. Bir araya getirmeSoftApConfiguration
-SoftApConfiguration.Builder
sınıfını kullanır. - Şu adresten tethering yöntemini çağırarak tethering'i başlatın:
TetheringManager#startTethering
.
Yalnızca yerel hotspot için:
- Yalnızca yerel hotspot'u belirli bir yazılım erişim noktası yapılandırmasıyla başlatın.
WifiManager#startLocalOnlyHotspot
yöntemidir.
İzin verme ve engelleme listelerini uygulama
Tipik bir operatör gereksinimi, kullanıcıya Soft AP ile ilişkilendirilmesine izin verilen cihazları içerir. Birkaç tane mekanizmalar vardır:
- Yazılım erişim noktası ile ilişkilendirilebilecek maksimum cihaz sayısını sınırlandır
SoftApConfiguration.Builder#setMaxNumberOfClients
kullanılıyor. Şunları yaptığınızdan emin olun: desteklenen maksimum istemci sayısından daha düşük bir sayı belirtin Cihaza göre değişir. Maksimum sayıyı şuradan alabilirsiniz:SoftApCapability#getMaxSupportedClients
İzin ver ve engelleme listelerini kullanarak dinamik kontrol sağlayın:
- Soft AP'nin varsayılan yapılandırması, tüm cihazların
ile ilişkilendirmesini sağlamalısınız.
SoftApConfiguration.Builder#setBlockedClientList
oynatma listesine eklendi. Soft AP,
SoftApConfiguration.Builder#setClientControlByUserEnabled(true)
, izin verilenler listesi kullanılır.- MAC adresi bulunan tüm cihazlar
SoftApConfiguration.Builder#setBlockedClientList
, şu konumlarda engelleniyor: ilişkilendirmesine yardımcı olur. - MAC adresi bulunan tüm cihazlar
SoftApConfiguration.Builder#setAllowedClientList
için izin veriliyor ilişkilendirmesine yardımcı olur. - Diğer tüm cihazlar (MAC adresleri bulunan cihazlar)
izin verilenler veya engellenenler listesinde olmayanlar)
ilişkilendirme ancak
SoftApCallback#onBlockedClientConnecting
çağrılır. Böylece, kontrol eden uygulamanın (yani Ayarlar uygulaması) ondan onay istemek gibi bir işlem yapıp ardından cihazı izin verilenler veya engellenenler listesine ekleyin kullanıcının davranışına göre değişir.
- MAC adresi bulunan tüm cihazlar
Cihazların izin verilenler listesi işlevini yalnızca cihazda destekleniyor olması gerekir. Cihaz desteğini şuradan doğrulayabilirsiniz:
SoftApCapability#areFeaturesSupported(SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT)
- Soft AP'nin varsayılan yapılandırması, tüm cihazların
ile ilişkilendirmesini sağlamalısınız.
Uygulama
Hotspot üzerinden tethering'i veya yalnızca yerel hotspot'u desteklemek için cihaz üreticileri Ayarlar uygulaması, çerçeve, ve HAL/donanım yazılımı desteği:
Ayarlar uygulaması: AOSP Ayarları uygulaması, SSID ve güvenlik kimlik bilgilerine sahip bir tethering hotspot'udur. Bu kod, olduğu gibi kullanılır veya açıklandığı şekilde ek özellikler sağlamak için değiştirilmiştir Hotspot API'leriyle uygulamalar geliştirme başlıklı makaleye göz atın.
Çerçeve: AOSP çerçeve kodu, Google tarafından sunulan tüm işlevleri Hotspot API'leri olan uygulamalar geliştirme başlıklı makalede açıklanmıştır.
Hotspot için HAL/donanım yazılımı: HIDL IHostapd.hal sürüm 1.2 veya daha yeni bir sürümü ya da AIDL IHostapd.aidl.
Özelleştirme
Uygulamayı özelleştirmek için cihaz üreticilerinin
şunlardır:
packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
:
config_wifiFrameworkSoftApShutDownTimeoutMilliseconds
: Varsayılan kapatma zaman aşımı aralığı. Yalnızca şu durumlarda geçerlidir:SoftApConfiguration#setAutoShutdownEnabled
etkinleştirildi. Geçersiz kılınabilirSoftApConfiguration#setShutdownTimeoutMillis
kullanılıyor.config_wifiHardwareSoftapMaxClientCount
: Donanım sınırlaması maksimum sayıda desteklenen istemciniz olmalıdır. Maksimum istemci sayısı minimum donanım ve operatör kapasitesi olduğundan kısıtlamalar (belirtilenCarrierConfigManager.Wifi#KEY_HOTSPOT_MAX_CLIENT_COUNT
) bilgileri gösterilir. Nihai sonuç uygulamayaSoftApCapabilities#getMaxSupportedClients
ile sağlanır.config_wifiSofapClientForceDisconnectSupported
: Cihazın istemcinin bağlantısını kesmeye zorlama olanağı. İzin vermeyi etkinleştirmek için gerekli ve engelleme listelerini kullanabilirsiniz. Kontrol uygulamasına (Ayarlar uygulaması) iletilir.SoftApCapabilities#areFeaturesSupported(SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT)
- (13'ten itibaren kullanılabilir)
config_wifiSoftapPassphraseAsciiEncodableCheck
: Yumuşak AP parolasının ASCII olarak kodlanabilir olması gerekip gerekmediği. config_wifiSoftapAutoUpgradeToBridgedConfigWhenSupported
: Geçerli olup olmadığı sırasında bant ayarının yapılandırmasını otomatik olarak çift banda yükseltmek için yeni cihaz desteklendiğinde bulut yapılandırması geri yükleme.- (13'ten itibaren kullanılabilir)
config_wifiSoftapAutoAppendLowerBandsToBandConfigurationEnabled
: Çerçevenin bant yapılandırmasına otomatik olarak alt bantları ekleyip eklemediği kullanılması anlamına gelir. config_wifiSoftApDynamicCountryCodeUpdateSupported
: Dinamik olup olmadığı AP modunda ülke kodu güncellemesi cihazda destekleniyor- Kanal desteği:
config_wifiSoftap2gChannelList
,config_wifiSoftap5gChannelList
,config_wifiSoftap6gChannelList
veconfig_wifiSoftap60gChannelList
. - Karşılık gelen girişlerin sıfırlanıp sıfırlanmayacağını belirten geri yükleme desteği
hotspot yapılandırmasını yeni cihaza geri yüklerken varsayılan olarak kullanılacak:
config_wifiSoftapResetChannelConfig
,config_wifiSoftapResetHiddenConfig
,config_wifiSoftapResetUserControlConfig
,config_wifiSoftapResetAutoShutdownTimerConfig
config_wifiSoftapResetMaxClientSettingConfig
. Bunların Varsayılan olaraktrue
kullanılır. Bu, değerlerin sıfırlandığı anlamına gelir. Bu, aşağıdaki durumlarda yeni cihaz yapılandırmayı desteklemiyordur. - Donanım özellikleri:
config_wifi_softap_acs_supported
config_wifi_softap_sae_supported
- (13'ten itibaren kullanılabilir)
config_wifiSoftapOweTransitionSupported
. - (13'ten itibaren kullanılabilir)
config_wifiSoftapOweSupported
. config_wifi_softap_ieee80211ac_supported
config_wifiSoftapIeee80211axSupported
- (13'ten itibaren kullanılabilir)
config_wifiSoftapIeee80211beSupported
. config_wifiSoftapMacAddressCustomizationSupported
config_wifiSoftapHeSuBeamformerSupported
config_wifiSoftapHeSuBeamformeeSupported
config_wifiSoftapHeMuBeamformerSupported
config_wifiSoftapHeTwtSupported
config_wifiSoftap24ghzSupported
config_wifiSoftap5ghzSupported
config_wifiSoftap6ghzSupported
config_wifiSoftap60ghzSupported
config_wifiSoftapAcsIncludeDfs
Doğrulama
Android, bir dizi birim testi ve Uyumluluk Test Paketi (CTS) testi sağlar. deneyin. Hotspot özelliği Tedarikçi Test Paketi (VTS).
Birim testleri
Aşağıdaki testleri kullanarak hotspot paketini doğrulayın.
Hizmet testleri:
atest packages/modules/Wifi/service/tests/wifitests/
Yönetici tarafından test edilir:
atest packages/modules/Wifi/framework/tests/
Uyumluluk Test Paketi (CTS) testleri
Hotspot özelliğini doğrulamak için CTS testlerini kullanın. CTS, özelliğin etkinleştirildiğini algılar ve işlevi otomatik olarak test edebilirsiniz.
CTS testlerini tetiklemek için şu komutu çalıştırın:
atest android.net.wifi.cts.WifiManagerTest
Tedarikçi Firma Test Paketi (VTS)
HIDL arayüzü uygulanmışsa aşağıdaki komutu çalıştırın:
atest VtsHalWifiHostapdV1_2Target
AIDL arayüzü uygulanmışsa şunu çalıştırın:
atest VtsHalHostapdTargetTest