管理中心
我的
API参考Network KitAndroidcom.huawei.hms.networkClass SummaryNetworkKit

NetworkKit

展开

Class Info

public abstract class NetworkKit

Network Kit的全局管理类,通过getInstance()方法获取单实例。

Nested Class Summary

展开

Qualifier and Type

Class Name and Description

public abstract static class

NetworkKit.Callback

Network Kit的全局初始化结果回调。

Public Method Summary

展开

Qualifier and Type

Method Name and Description

public abstract void

addQuicHint(boolean isForce, String... domains)

全局添加支持QUIC协议的域名。

public abstract void

evictAllConnections()

清理全局连接池中的空闲连接。

public static synchronized NetworkKit

getInstance()

获取NetworkKit单实例。

public static Future

init(Context context, NetworkKit.Callback callback)

异步初始化NetworkKit对象。

public static Future

init(Context context, NetworkKit.Callback callback, String options)

异步初始化NetworkKit,可传入JSON字符串初始化配置参数。

public abstract void

initConnectionPool(int maxIdleConnections, long keepAliveDuration, TimeUnit timeUnit)

配置全局连接池最大空闲连接数及空闲连接的保活时间。

public abstract void

setOptions(String options)

配置该NetworkKit实例全局配置信息。

Public Methods

addQuicHint

展开

Method

public abstract void addQuicHint(boolean isForce, String... domains)

全局添加支持QUIC协议的域名,只有当显式地配置域名支持QUIC后,才会在协商时使用QUIC,同时需要将HttpClient.Builder的QUIC协议开关赋为true。

Parameters

展开

Name

Description

isForce

是否强制使用QUIC协议。默认值为false。

  • true:强制使用QUIC协议,第一次请求就使用QUIC协议,若服务器不支持QUIC协议,则降级至HTTP(HTTP/1.1或HTTP/2)协议。
  • false:协商使用QUIC协议,第一次请求用HTTP(HTTP/1.1或HTTP/2)协议,协商成功后使用QUIC协议。

domains

需要支持QUIC协议的域名列表。

evictAllConnections

展开

Method

public abstract void evictAllConnections()

清理全局连接池中的空闲连接。该接口涉及到Socket对象关闭操作,请在子线程中调用此接口。

getInstance

展开

Method

public static synchronized NetworkKit getInstance()

获取NetworkKit单实例。在使用Network Kit发送过网络请求后,调用此接口将存在发起网络请求的情况,详情请见说明第五点。

Returns

展开

Type

Description

NetworkKit

NetworkKit单实例。

init(Context context, NetworkKit.Callback callback)

展开

Method

public static Future init(Context context, NetworkKit.Callback callback)

异步初始化NetworkKit对象,重复调用只会初始化一次。在使用Network Kit发送过网络请求后,调用此接口将存在发起网络请求的情况,详情请见说明第五点。

Parameters

展开

Name

Description

context

应用上下文。

callback

异步初始化结果回调。您在使用时不需等待回调后再发送请求。

Returns

展开

Type

Description

Future

线程任务对象。

init(Context context, NetworkKit.Callback callback, String options)

展开

Method

public static Future init(Context context, NetworkKit.Callback callback, String options)

异步初始化NetworkKit,可传入JSON字符串初始化配置参数,重复调用只会初始化一次。在使用Network Kit发送过网络请求后,调用此接口将存在发起网络请求的情况,详情请见说明第五点。

Parameters

展开

Name

Description

context

应用上下文。

callback

异步初始化结果回调。您在使用时不需等待回调后再发送请求。

options

初始化配置参数,采用JSON格式,目前仅支持AI服务是否开启的参数配置,且需要确认通过调用此方法关闭AI功能时,应为Network Kit首次初始化。

展开

options

Description

core_switch_ai

是否开启AI服务,默认值为true。
  • true:开启
  • false:不开启

Returns

展开

Type

Description

Future

线程任务对象。

initConnectionPool

展开

Method

public abstract void initConnectionPool(int maxIdleConnections, long keepAliveDuration, TimeUnit timeUnit)

配置全局连接池最大空闲连接数及空闲连接的保活时间。多次设置时,后设置的参数值需要最大空闲连接数和保活时间同时大于当前值才会生效。

Parameters

展开

Name

Description

maxIdleConnections

最大空闲连接数,默认值:8。

当设置参数小于0时,使用默认值。

keepAliveDuration

保活时间,默认值:5。

当设置参数小于0时,使用默认值。

timeUnit

保活时间的单位,默认值:TimeUnit.MINUTES。

  • TimeUnit.DAYS:时间单位,天,表示24小时。
  • TimeUnit.HOURS:时间单位,小时,表示60分钟。
  • TimeUnit.MICROSECONDS:时间单位,微秒,表示千分之一毫秒。
  • TimeUnit.MILLISECONDS:时间单位,毫秒,表示千分之一秒。
  • TimeUnit.MINUTES:时间单位,分,表示60秒。
  • TimeUnit.NANOSECONDS:时间单位,纳秒,表示千分之一微秒。
  • TimeUnit.SECONDS:时间单位,秒,表示1秒。

setOptions

展开

Method

public abstract void setOptions(String options)

配置该NetworkKit实例全局配置信息。

Parameters

展开

Name

Description

options

全局配置信息,使用JSON格式。例如:{"enable_detect_with_http":true}。支持参数请参见options。

展开

options

Description

enable_detect_with_http

是否开启附带网络请求的探测服务,默认值为true。
  • true:开启
  • false:不开启