表示活動網(wǎng)絡(luò)的能力。實例通常通過NetworkCallback# oncapability changed (Network, NetworkCapabilities)或ConnectivityManager#getNetworkCapabilities(Network)獲得注簿。
這將取代舊的ConnectivityManager#TYPE_MOBILE網(wǎng)絡(luò)選擇方法唠亚。應(yīng)用程序應(yīng)該明確它需要高帶寬,而不是指出它需要Wi-Fi壮啊,因為應(yīng)用程序需要高帶寬,而當(dāng)一個新的么抗、快速的網(wǎng)絡(luò)(如LTE)出現(xiàn)時远荠,它可能會被淘汰赘那。類似地刑桑,如果應(yīng)用程序需要一個不計量的網(wǎng)絡(luò)來進(jìn)行批量傳輸,它可以指定這一點漓概,而不是假設(shè)所有基于蜂窩網(wǎng)絡(luò)的連接都是計量的漾月,而所有基于Wi-Fi的連接都不是病梢。
NET_CAPABILITY_CAPTIVE_PORTAL
表明這個網(wǎng)絡(luò)在上次被探測時被發(fā)現(xiàn)有一個固定的入口胃珍。
NET_CAPABILITY_CBS
表示這是一個能夠到達(dá)運營商CBS服務(wù)器的網(wǎng)絡(luò),用于運營商特定的服務(wù)蜓陌。
NET_CAPABILITY_DUN
表示這是一個能夠到達(dá)運營商的DUN或tethering網(wǎng)關(guān)的網(wǎng)絡(luò)觅彰。
NET_CAPABILITY_EIMS
指示此網(wǎng)絡(luò)具有到達(dá)運營商緊急IMS服務(wù)器或其他服務(wù)的能力,用于緊急呼叫期間的網(wǎng)絡(luò)信令钮热。
NET_CAPABILITY_ENTERPRISE
表示此網(wǎng)絡(luò)用于企業(yè)使用填抬。
5G URSP規(guī)則可能表明,所有數(shù)據(jù)應(yīng)該使用企業(yè)專用的連接隧期。如果請求企業(yè)能力飒责,所有企業(yè)流量都將通過具有此能力的連接進(jìn)行路由。
NET_CAPABILITY_FOREGROUND
表示此網(wǎng)絡(luò)可供應(yīng)用程序使用仆潮,而不是為了方便快速網(wǎng)絡(luò)切換而在后臺保持的網(wǎng)絡(luò)宏蛉。
NET_CAPABILITY_FOTA
表明這是一個能夠到達(dá)運營商FOTA門戶的網(wǎng)絡(luò),用于空中更新性置。
NET_CAPABILITY_HEAD_UNIT
表示此網(wǎng)絡(luò)連接到汽車頭部單元拾并。
NET_CAPABILITY_IA
表示這是一個有能力到達(dá)運營商的初始附加服務(wù)器的網(wǎng)絡(luò)。
NET_CAPABILITY_IMS
表示這是一個能夠到達(dá)運營商IMS服務(wù)器的網(wǎng)絡(luò),用于網(wǎng)絡(luò)注冊和信令嗅义。
NET_CAPABILITY_INTERNET *
表示該網(wǎng)絡(luò)應(yīng)該能夠到達(dá)internet屏歹。
NET_CAPABILITY_MCX
表示該網(wǎng)絡(luò)有能力到達(dá)運營商的關(guān)鍵任務(wù)服務(wù)器。
NET_CAPABILITY_MMS
表示該網(wǎng)絡(luò)能夠到達(dá)運營商的MMSC之碗,用于發(fā)送和接收MMS消息蝙眶。
NET_CAPABILITY_MMTEL
表示該網(wǎng)絡(luò)具有支持MMTEL(多媒體電話業(yè)務(wù))的能力。
NET_CAPABILITY_NOT_CONGESTED
表示該網(wǎng)絡(luò)沒有擁塞褪那。
當(dāng)網(wǎng)絡(luò)擁塞時械馆,應(yīng)用程序應(yīng)該延遲可以在稍后時間完成的網(wǎng)絡(luò)流量,例如上傳分析武通。
NET_CAPABILITY_NOT_METERED
表示該網(wǎng)絡(luò)是不計量的霹崎。
NET_CAPABILITY_NOT_RESTRICTED
表示此網(wǎng)絡(luò)可用于一般用途。如果沒有設(shè)置此參數(shù)冶忱,應(yīng)用程序不應(yīng)嘗試在此網(wǎng)絡(luò)上進(jìn)行通信尾菇。請注意,這只是提供信息而不是執(zhí)行——執(zhí)行是通過其他方式處理的囚枪。默認(rèn)設(shè)置派诬。
NET_CAPABILITY_NOT_ROAMING
表示此網(wǎng)絡(luò)不漫游。
NET_CAPABILITY_NOT_SUSPENDED *
指示此網(wǎng)絡(luò)當(dāng)前未掛起链沼。
當(dāng)網(wǎng)絡(luò)掛起時默赂,網(wǎng)絡(luò)的IP地址和在網(wǎng)絡(luò)上建立的任何連接都是有效的,但網(wǎng)絡(luò)暫時無法傳輸數(shù)據(jù)括勺。這可能發(fā)生缆八,例如,如果一個蜂窩網(wǎng)絡(luò)經(jīng)歷了暫時的信號丟失疾捍,例如開車通過一個隧道奈辰,等等。具有這種能力的網(wǎng)絡(luò)不會掛起乱豆,因此預(yù)計能夠傳輸數(shù)據(jù)奖恰。
NET_CAPABILITY_NOT_VPN *
表示該網(wǎng)絡(luò)不是VPN。這種能力是默認(rèn)設(shè)置的宛裕,應(yīng)該為VPN網(wǎng)絡(luò)顯式清除瑟啃。
NET_CAPABILITY_PRIORITIZE_BANDWIDTH
表示該網(wǎng)絡(luò)應(yīng)該能夠為internet優(yōu)先考慮帶寬。
NET_CAPABILITY_PRIORITIZE_LATENCY
表示該網(wǎng)絡(luò)應(yīng)該能夠優(yōu)先考慮internet的延遲揩尸。
NET_CAPABILITY_RCS
表示這是一個能夠到達(dá)運營商RCS服務(wù)器的網(wǎng)絡(luò)蛹屿,用于富通信服務(wù)。
NET_CAPABILITY_SUPL *
表示這是一個能夠到達(dá)運營商的SUPL服務(wù)器的網(wǎng)絡(luò)疲酌,用于檢索GPS信息蜡峰。
NET_CAPABILITY_TEMPORARILY_NOT_METERED
表示此網(wǎng)絡(luò)暫時不計量了袁。
這種能力將被設(shè)置為通常是計量的網(wǎng)絡(luò),但目前是不計量的湿颅,例如载绿,因為用戶在一個特定的區(qū)域。此功能可以在任何時候更改油航。當(dāng)它被刪除時崭庸,應(yīng)用程序負(fù)責(zé)停止任何不應(yīng)該發(fā)生在計量網(wǎng)絡(luò)上的數(shù)據(jù)傳輸。請注意谊囚,大多數(shù)應(yīng)用程序應(yīng)該使用net_capability_not_meter代替怕享。更多信息請參見https://developer.android.com/about/versions/11/features/5g#meteredness。
NET_CAPABILITY_TRUSTED
表示用戶已表示此網(wǎng)絡(luò)的隱式信任镰踏。這通常意味著它是一個sim選擇的運營商函筋,一個插入以太網(wǎng),一個配對的BT設(shè)備或一個wifi用戶要求連接奠伪。不可信網(wǎng)絡(luò)可能僅限于未知的wifi AP跌帐。默認(rèn)設(shè)置。
NET_CAPABILITY_VALIDATED *
指示此網(wǎng)絡(luò)上的連通性已成功驗證绊率。例如谨敛,對于帶有NET_CAPABILITY_INTERNET的網(wǎng)絡(luò),它意味著成功檢測到互聯(lián)網(wǎng)連接滤否。
NET_CAPABILITY_WIFI_P2P
表示這是一個能夠到達(dá)Wi-Fi直接對等點的網(wǎng)絡(luò)脸狸。
NET_CAPABILITY_XCAP
表示這是一個能夠到達(dá)運營商XCAP服務(wù)器的網(wǎng)絡(luò),用于配置和控制藐俺。
NET_ENTERPRISE_ID_1 2 3 4 5
企業(yè)能力標(biāo)識符 1~5
SIGNAL_STRENGTH_UNSPECIFIED
表示沒有提供信號強(qiáng)度的魔術(shù)值炊甲。指定此值的請求總是得到滿足。
TRANSPORT_BLUETOOTH
表示該網(wǎng)絡(luò)使用藍(lán)牙傳輸紊搪。
TRANSPORT_CELLULAR *
表示此網(wǎng)絡(luò)使用蜂窩傳輸蜜葱。
TRANSPORT_ETHERNET
表示該網(wǎng)絡(luò)使用以太網(wǎng)傳輸。
TRANSPORT_LOWPAN
表示該網(wǎng)絡(luò)使用LoWPAN傳輸耀石。
TRANSPORT_USB
表示該網(wǎng)絡(luò)使用USB傳輸。
TRANSPORT_VPN *
表示該網(wǎng)絡(luò)使用VPN傳輸爸黄。
TRANSPORT_WIFI *
表示該網(wǎng)絡(luò)使用Wi-Fi傳輸滞伟。
TRANSPORT_WIFI_AWARE
表示該網(wǎng)絡(luò)使用Wi-Fi感知傳輸。
public describeContents()
描述在這個Parcelable實例的封送表示中包含的特殊對象的類型炕贵。例如梆奈,如果對象在writeToParcel(android.os.)的輸出中包含一個文件描述符。Parcel, int)称开,這個方法的返回值必須包含CONTENTS_FILE_DESCRIPTOR位亩钟。
public int[] getCapabilities ()
獲取此NetworkCapability實例上設(shè)置的所有功能乓梨。
public int[] getEnterpriseIds ()
獲取企業(yè)標(biāo)識符集。如果設(shè)置了NET_CAPABILITY_ENTERPRISE清酥,而沒有設(shè)置企業(yè)ID扶镀,則默認(rèn)情況下認(rèn)為它有NET_CAPABILITY_ENTERPRISE。
public int getLinkDownstreamBandwidthKbps ()
檢索此網(wǎng)絡(luò)的下游帶寬(以Kbps為單位)焰轻。這總是只涉及估計的第一跳傳輸帶寬臭觉。
public int getLinkUpstreamBandwidthKbps ()
檢索此網(wǎng)絡(luò)的上行帶寬(以Kbps為單位)。這總是只涉及估計的第一跳傳輸帶寬辱志。
public NetworkSpecifier getNetworkSpecifier ()
獲取可選的承載特定網(wǎng)絡(luò)說明符蝠筑。如果沒有設(shè)置,可能為空揩懒。
public int getOwnerUid ()
獲取擁有此網(wǎng)絡(luò)的應(yīng)用程序的UID什乙。
public int getSignalStrength () *
檢索信號強(qiáng)度。
public TransportInfo getTransportInfo ()
返回特定于傳輸?shù)男畔⑷萜饕亚颉?yīng)用程序可以根據(jù)其對網(wǎng)絡(luò)請求的了解將這個容器轉(zhuǎn)換為一個具體的子類稳强。應(yīng)用程序應(yīng)該能夠處理一個空的返回值或無效的情況,例如使用instanceof操作符來驗證預(yù)期的類型和悦。
public boolean hasCapability (int capability)
測試此實例上是否存在功能退疫。
public boolean hasEnterpriseId (int enterpriseId)
測試此實例上是否存在企業(yè)功能標(biāo)識符。如果設(shè)置了NET_CAPABILITY_ENTERPRISE鸽素,而沒有設(shè)置企業(yè)ID褒繁,則默認(rèn)為具有NET_CAPABILITY_ENTERPRISE。
public boolean hasTransport (int transportType)
測試此實例上是否存在傳輸馍忽。