5G Modem Kit提供众测功能,以下给出使用方法典型示例。
private IQueryModem mQueryModem = QueryModemController.getInstance(); // 注册5G Modem Kit回调函数,其中IResProcess为查询指标信息回调接口,IConnectProcess为服务连接信息回调接口
public boolean registerCallback(Context context) {
return mQueryModem.registerCallback(context, mResProcess, mConnectProcess);
}
// IResProcess为查询指标信息回调接口
private IResProcess mResProcess = response -> {
if (response != null && response.getCode() == 0) {
// key为请求参数
String key = response.getQueryParameters();
// data为该请求响应的值
String data = response.getValue();
String content = "";
if (data != null) {
content += key + " request result: " + data;
} else {
content += key + " request result is null";
}
Log.i(TAG, content);
} else {
// 当响应为空或错误码不为0时,表示当前请求参数以及请求value无效
if (response != null) {
String content = "error code: " + response.getCode() + ",\t" + response.getMsg();
Log.e(TAG, content);
} else {
Log.e(TAG, "response is null");
}
}
};
// IConnectProcess为服务连接信息回调接口
private IConnectProcess mConnectProcess = response -> {
if (response == null) {
Log.e(TAG, "ConnectProcess callback response data is null");
return;
}
String content;
// 当错误码不为0时,表示存在连接异常
if (response.getCode() != 0) {
content = "connect error code: " + response.getCode() + ", error msg: " + response.getMsg();
Log.e(TAG, content);
} else {
content = "connect code: " + response.getCode() + ", msg: " + response.getMsg();
Log.i(TAG, content);
}
}; // 查看注册状态
// 如果没有注册成功,或您的App和底层服务连接断开,查询连接状态返回false,否则返回true
public boolean getConnectStatus() {
return mQueryModem.getAidlConnectStatus();
}
// 参数查询
public boolean queryModem(String requestName) {
return mQueryModem.queryModem(requestName);
} // 注销回调,断开和底层服务的连接
public void unRegisterCallback() {
mQueryModem.unRegisterCallback();
}