更新时间:2024-10-22 06:51:18下载pdf
设备分享是指设备的管理者将设备分享给其他人,其他人接受分享后即可使用设备。
主要包括以下功能:
设备分享 SDK 的接口通过 ThingDeviceShareManager 类和 IDeviceShareManager 类提供。下文将详细说明每个接口所需的参数。
接口说明
| 接口 | 说明 |
|---|---|
| isSupportDeviceShare | 判断设备/群组是否支持分享 |
| addTimer | 添加设备/群组定时 |
| editTimer | 更新设备/群组定时 |
| deleteTimer | 删除设备/群组定时 |
| updateTimerStatus | 更新定时状态 |
获取 manager 示例
IDeviceShareManager mShareManager = DeviceBusinessDataManager.getInstance().getDeviceShareManager();
ThingDeviceShareManager manager = new ThingDeviceShareManager()
接口说明
fun isSupportDeviceShare(String resId, int resType, IThingResultCallback<Boolean> callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| resId | String | 设备 ID/群组 ID |
| resType | int | 类型
|
| callback | IThingResultCallback<Boolean> |
成功回调
|
调用示例
manager.isSupportDeviceShare(resId, resType, new IThingResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
fun querySharedCount(resId: String, shareType: int, listener: Business.ResultListener<Long>)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| resId | string | 设备 ID/群组 ID |
| resType | int | 类型
|
| listener | Business.ResultListener<Long> |
回调,成功则返回剩余次数 |
调用示例
IDeviceShareManager mShareManager = DeviceBusinessDataManager.getInstance().getDeviceShareManager();
mShareManager.querySharedCount(resId, shareType, new ResultListener<Long>() {
@Override
public void onFailure(BusinessResponse bizResponse, Long bizResult, String apiName) {
}
@Override
public void onSuccess(BusinessResponse bizResponse, Long bizResult, String apiName) {
}
});
接口说明
fun shareToUser(String resId, int resType,Long spaceId,String userAccount,IThingResultCallback<SharedUserInfoBean> callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| resId | String | 设备 ID/群组 ID |
| resType | int | 类型
|
| userAccount | String | 被分享者的账号 |
| spaceId | Long | 设备所在的家庭 ID |
| callback | IThingResultCallback<SharedUserInfoBean> |
回调,返回分享结果 |
调用示例
manager.shareToUser(resId, resType, spaceId, userAccount, new IThingResultCallback<SharedUserInfoBean>() {
@Override
public void onSuccess(SharedUserInfoBean result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
SharedUserInfoBean 数据结构
public class SharedUserInfoBean {
private long memeberId;
private String remarkName;
private String userName;
private String iconUrl;
private String mobile;
private long homeId;
private String headPic;
private String userAccount;
}
接口说明
fun getReceivers(String resId, int resType, int page, int pageSize, IThingResultCallback<List<ShareMember>> callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| resId | String | 设备 ID/群组 ID |
| resType | int | 类型
|
| page | int | 页码 |
| pageSize | int | 分页大小 |
| callback | IThingResultCallback<List<ShareMember>> |
回调,成功则返回 ShareMember 列表 |
ShareMember 数据结构
public class ShareMember {
private Long memberId;
private String nickName;
private String userName;
private String iconUrl;
private int shareMode;
private Long endTime;
private String uid;
}
调用示例
ThingDeviceShareManager manager = new ThingDeviceShareManager();
manager.getReceivers(resId,resType, page, pageSize, new IThingResultCallback<List<ShareMember>> {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
接口说明
fun removeReceiver(Long memberId, String resId, int resType, IResultCallback callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| memberId | Long | 用户 ID |
| resId | String | 设备 ID/群组 ID |
| resType | int | 类型
|
| callback | IResultCallback | 回调 |
调用示例
ThingDeviceShareManager manager = new ThingDeviceShareManager();
manager.removeReceiver(memberId,resId,resType, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
接口说明
fun updateSharedDeadline(relationId: Long, resId: String, shareType: Int, shareMode:Int, shareEndTime: Long, listener: Business.ResultListener<Boolean>)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| resId | String | 设备 ID/群组 ID |
| resType | int | 类型
|
| memberId | Long | 成员 ID |
| mode | int | 模式
|
| endTime | Long | 结束时间戳,单位毫秒 |
| callback | ResultListener<Boolean> |
回调 |
调用示例
IDeviceShareManager mShareManager = DeviceBusinessDataManager.getInstance().getDeviceShareManager();
mShareManager.updateSharedDeadline(memberId, resId, resType, mode, endTime, new ResultListener<Boolean>() {
@Override
public void onFailure(BusinessResponse bizResponse, Boolean bizResult, String apiName) {
}
@Override
public void onSuccess(BusinessResponse bizResponse, Boolean bizResult, String apiName) {
}
});
接口说明
fun getRelationMembers(IThingResultCallback<List<ShareMember>> callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| callback | IThingResultCallback<List<ShareMember>> |
回调,成功则返回 List<ShareMember> |
调用示例
ThingDeviceShareManager manager = new ThingDeviceShareManager();
manager.getRelationMembers(new IThingResultCallback<List<ShareMember>>() {
@Override
public void onSuccess(List<ShareMember> result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
fun deleteSharedContact(hideUserId: String, listener: Business.ResultListener<kotlin.Boolean>)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| uid | String | 用户 ID |
| callback | ResultListener<Boolean>() |
回调 |
调用示例
mShareManager.deleteSharedContact(uid, new ResultListener<Boolean>() {
@Override
public void onFailure(BusinessResponse bizResponse, Boolean bizResult, String apiName) {
}
@Override
public void onSuccess(BusinessResponse bizResponse, Boolean bizResult, String apiName) {
}
});
接口说明
fun createShareLink(resId: String, shareType: Int, groupId: Long, shareSource: Int, shareCount: Int, listener: Business.ResultListener<ShareDeviceLinkResultBean>)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| resId | string | 设备 ID/群组 ID |
| resType | int | 类型
|
| spaceId | longlong | 设备所在的家庭 ID |
| shareType | int | 分享类型
|
| shareCount | int | 分享次数 |
| callback | ResultListener<ShareDeviceLinkResultBean> |
回调,成功返回分享信息 |
调用示例
mShareManager.createShareLink(resId, resType, spaceId, shareType, shareCount, new ResultListener<ShareDeviceLinkResultBean>() {
@Override
public void onFailure(BusinessResponse businessResponse, ShareDeviceLinkResultBean shareDeviceLinkBean, String s) {
if (callback != null) {
}
}
@Override
public void onSuccess(BusinessResponse businessResponse, ShareDeviceLinkResultBean shareDeviceLinkBean, String s) {
if (callback != null) {
}
}
});
接口说明
fun parseShortLinkAvailability(String code,IThingResultCallback<Boolean> callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| code | string | 短链 Code |
| callback | IThingResultCallback<Boolean> |
成功回调
|
调用示例
private ThingDeviceShareManager manager = new ThingDeviceShareManager();
manager.parseShortLinkAvailability(code, new IThingResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
fun parseSharedDeviceLinkResult(shortCode: String, listener: Business.ResultListener<ShareShortLinkResult>):
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| code | string | 短链 Code |
| Callback | ResultListener<ShareShortLinkResult> |
回调,成功则返回 ShareShortLinkResult 模型 |
调用示例
mShareManager.parseSharedDeviceLinkResult(shortCode, new ResultListener<ShareShortLinkResult>() {
@Override
public void onFailure(BusinessResponse bizResponse, ShareShortLinkResult bizResult, String apiName) {
}
@Override
public void onSuccess(BusinessResponse bizResponse, ShareShortLinkResult bizResult, String apiName) {
}
});
接口说明
fun acceptShare(String code,IResultCallback callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| code | string | 短链 Code |
| callback | IResultCallback() | 回调 |
调用示例
manager.acceptShare(code, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
接口说明
fun getSharerName(String resId, int resType,IThingResultCallback<String> callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| resId | string | 设备 ID/群组 ID |
| resType | int | 类型
|
| callback | IThingResultCallback<String> |
回调,成功则返回分享者名称 |
name,则优先返回 name。name 不存在,则返回 mobile。mobile 也不存在,则返回 email。请注意,mobile 和 email 均已进行脱敏处理。
调用示例
manager.getSharerName(resId, resType, new IThingResultCallback<String>() {
@Override
public void onSuccess(String result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
fun removeReceivedShare(String resId, int resType,IResultCallback callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| resId | string | 设备 ID/群组 ID |
| resType | int | 类型
|
| callback | IResultCallback() | 回调 |
调用示例
manager.removeReceivedShare(resId, resType, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
接口说明
fun getShareReceivedUserList(IThingResultCallback<List<SharedUserInfoBean>> callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| callback | IThingResultCallback<List<SharedUserInfoBean>> |
回调,成功返回 SharedUserInfoBean 列表 |
SharedUserInfoBean 数据结构
public class SharedUserInfoBean {
private long memeberId;
private String remarkName;
private String userName;
private String iconUrl;
private String mobile;
private long homeId;
private String headPic;
private String userAccount;
}
调用示例
manager.getShareReceivedUserList(new IThingResultCallback<List<SharedUserInfoBean>>() {
@Override
public void onSuccess(List<SharedUserInfoBean> result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
fun getSharerInfoDetail(Long memberId,IThingResultCallback<ShareReceivedUserDetailBean> callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| memberId | long | 成员 ID |
| callback | IThingResultCallback<ShareReceivedUserDetailBean> |
回调,成功返回 ShareReceivedUserDetailBean 模型 |
ShareReceivedUserDetailBean 数据结构
public class ShareReceivedUserDetailBean {
private String mobile;
private List<DeviceShareBean> devices;
private String remarkName;
private String nameWithoutRemark;
}
调用示例
manager.getSharerInfoDetail(memberId, new IThingResultCallback<ShareReceivedUserDetailBean>() {
@Override
public void onSuccess(ShareReceivedUserDetailBean result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
fun removeReceivedUserShare(Long memberId,IResultCallback callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| memberId | long | 成员 ID |
| callback | IResultCallback() | 回调 |
调用示例
manager.removeReceivedUserShare(memberId, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
接口说明
fun renameReceivedShareNickname(Long memberId,String name,IResultCallback callback);
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| memberId | long | 成员 ID |
| name | String | 新的昵称 |
| callback | IResultCallback() | 回调 |
调用示例
manager.renameReceivedShareNickname(memberId, name, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈