更新时间:2023-03-09 08:17:40
当需要将家庭下某一个设备单独提供给其他用户操作时,可将设备共享给其他用户,收到共享设备的用户可在自身账号下对设备进行简单操作。
每个设备最多可以分享给 20 个其他用户。
类名 | 说明 |
---|---|
ITuyaHomeDeviceShare | 提供设备共享相关的功能 |
共享多个设备给指定用户,会将指定用户的以前所有共享覆盖掉。另外,每个设备最多可以分享给 20 个其他用户。
接口说明
void addShare(long homeId, String countryCode, final String userAccount, ShareIdBean bean, boolean autoSharing, final ITuyaResultCallback<SharedUserInfoBean> callback);
参数说明
参数 | 说明 |
---|---|
homeId | 设备所属的家庭 ID |
countryCode | 共享对象的国家或地区码,例如 86 表示中国大陆地区 |
userAccount | 共享对象的账号 |
bean | 共享的设备 ID 列表 |
autoSharing | 自动共享 |
callback | 回调,包括共享成功或失败,不能为 null |
ShareIdBean
数据结构
参数 | 类型 | 说明 |
---|---|---|
devIds | List<String> | 共享的设备 ID 列表 |
meshIds | List<String> | 共享的蓝牙 Mesh 设备 ID 列表 |
示例代码
TuyaHomeSdk.getDeviceShareInstance().addShare(homeId, countryCode, userAccount,
shareIdBean, autoSharing, new ITuyaResultCallback<SharedUserInfoBean>() {
@Override
public void onSuccess(SharedUserInfoBean sharedUserInfoBean) {}
@Override
public void onError(String errorCode, String errorMsg) {}
});
共享多个设备给指定用户,会将要共享的设备追加到指定用户的所有共享中。如果之前向某个指定用户共享过设备,那么您可以通过下面的 共享关系 API 查询目标用户 ID,从而使用本方法向该用户快捷共享设备。另外,每个设备最多可以分享给 20 个其他用户。
接口说明
void addShareWithMemberId(long memberId,List<String> devIds,IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
memberId | 共享目标用户 ID |
devIds | 共享的设备 ID 列表 |
callback | 回调,包括共享成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().addShareWithMemberId(userId, devIdList, new IResultCallback() {
@Override
public void onError(String errorCode, String errorMsg) {
}
@Override
public void onSuccess() {
}
});
共享单个或多个设备给指定用户,会将要共享的设备追加到指定用户的所有共享中。另外,每个设备最多可以分享给 20 个其他用户。
接口说明
void addShareWithHomeId(long homeId, String countryCode, String userAccount, List<String> devIds, ITuyaResultCallback<SharedUserInfoBean> callback);
参数说明
参数 | 说明 |
---|---|
homeId | 设备的家庭 ID |
countryCode | 共享对象的国家或地区码,例如 86 表示中国大陆地区 |
userAccount | 被共享者账号 |
devIds | 共享的设备 ID 列表 |
callback | 回调,包括共享成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().addShareWithHomeId(homeId, countryCode,
userAccount, devsIdList, new ITuyaResultCallback<SharedUserInfoBean>() {
@Override
public void onSuccess(SharedUserInfoBean sharedUserInfoBean) {
}
@Override
public void onError(String errorCode, String errorMsg) {
}
});
接口说明
void queryUserShareList(long homeId, final ITuyaResultCallback<List<SharedUserInfoBean>> callback);
参数说明
参数 | 说明 |
---|---|
homeId | 家庭 ID |
callback | 回调,包括查询成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().queryUserShareList(homeId, new ITuyaResultCallback<List<SharedUserInfoBean>>() {
@Override
public void onSuccess(List<SharedUserInfoBean> sharedUserInfoBeans) {}
@Override
public void onError(String errorCode, String errorMsg) {}
});
接口说明
void queryShareReceivedUserList(final ITuyaResultCallback<List<SharedUserInfoBean>> callback);
参数说明
参数 | 说明 |
---|---|
callback | 回调,包括查询成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().queryShareReceivedUserList(new ITuyaResultCallback<List<SharedUserInfoBean>>() {
@Override
public void onSuccess(List<SharedUserInfoBean> sharedUserInfoBeans) {
}
@Override
public void onError(String errorCode, String errorMsg) {
}
});
接口说明
void getUserShareInfo(long memberId, final ITuyaResultCallback<ShareSentUserDetailBean> callback);
参数说明
参数 | 说明 |
---|---|
memberId | 共享用户的 ID |
callback | 回调,包括查询成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().getUserShareInfo(mRelationId, new ITuyaResultCallback<ShareSentUserDetailBean>() {
@Override
public void onSuccess(ShareSentUserDetailBean shareSentUserDetailBean) {}
@Override
public void onError(String errorCode, String errorMsg) {}
});
接口说明
void getReceivedShareInfo(long memberId, final ITuyaResultCallback<ShareReceivedUserDetailBean> callback);
参数说明
参数 | 说明 |
---|---|
memberId | 用户 ID |
callback | 回调,包括查询成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().getReceivedShareInfo(mRelationId, new ITuyaResultCallback<ShareReceivedUserDetailBean>() {
@Override
public void onSuccess(ShareReceivedUserDetailBean shareReceivedUserDetailBean) {}
@Override
public void onError(String errorCode, String errorMsg) {}
});
接口说明
void queryDevShareUserList(String devId, final ITuyaResultCallback<List<SharedUserInfoBean>> callback);
参数说明
参数 | 说明 |
---|---|
devId | 共享的设备 ID |
callback | 回调,包括查询成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().queryDevShareUserList(mDevId, new ITuyaResultCallback<List<SharedUserInfoBean>>() {
@Override
public void onError(String errorCode, String errorMsg) {}
@Override
public void onSuccess(List<SharedUserInfoBean> shareUserBeen) {}
});
接口说明
void queryShareDevFromInfo(String devId, final ITuyaResultCallback<SharedUserInfoBean> callback);
参数说明
参数 | 说明 |
---|---|
devId | 设备 ID |
callback | 回调,包括查询成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().queryShareDevFromInfo(devId, new ITuyaResultCallback<SharedUserInfoBean>() {
@Override
public void onSuccess(SharedUserInfoBean result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
共享者通过用户 ID(memberId
),从用户纬度移除与这个用户的所有共享关系。
接口说明
void removeUserShare(long memberId, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
memberId | 共享用户 ID |
callback | 回调,包括移除成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().removeUserShare(memberId, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
})
被共享者通过用户 ID(memberId
),从用户纬度移除与这个用户的共享关系。
接口说明
void removeReceivedUserShare(long memberId, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
memberId | 收到共享的用户 ID |
callback | 回调,包括移除成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().removeReceivedUserShare(memberId, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
})
接口说明
void disableDevShare(String devId, long memberId, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
devId | 共享设备的 ID |
memberId | 共享用户的 ID |
callback | 回调,包括移除成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().disableDevShare (devId, memberId, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
接口说明
void removeReceivedDevShare(String devId, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
devId | 共享的设备 ID |
callback | 回调,包括移除成功或失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().removeReceivedDevShare(devId,new IResultCallback() {
@Override
public void onError(String code, String error) {}
@Override
public void onSuccess() {}
})
接口说明
void renameShareNickname(long memberId, String name, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
memberId | 共享用户的 ID |
name | 共享用户的新备注 |
callback | 回调,包括修改成功和失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().renameShareNickname(mRelationId, inputText, new IResultCallback() {
@Override
public void onError(String s, String s1) {}
@Override
public void onSuccess() {}
});
接口说明
void renameReceivedShareNickname(long memberId, String name, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
memberId | 共享者家庭 ID 从 SharedUserInfoBean 中查询 |
name | 共享用户的新备注 |
callback | 回调,包括修改成功和失败,不能为 null |
示例代码
TuyaHomeSdk.getDeviceShareInstance().renameReceivedShareNickname(mRelationId, inputText, new IResultCallback() {
@Override
public void onError(String s, String s1) {}
@Override
public void onSuccess() {}
});
接口说明
void inviteShare(String devId, String userAccount, String countryCode, ITuyaResultCallback<Integer> callback);
参数说明
参数 | 说明 |
---|---|
countryCode | 国家码 |
userAccount | 用户账号 |
devId | 设备id |
success | 成功回调 |
failure | 失败回调 |
示例代码
TuyaHomeSdk.getDeviceShareInstance().inviteShare(devId, userAccount, countryCode, new ITuyaResultCallback<Integer>() {
@Override
public void onSuccess(Integer result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
void confirmShareInviteShare(int shareId, final IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
shareId | 分享 ID,即发送设备共享邀请方法 inviteShare 成功返回的 Integer 值 |
success | 成功回调 |
failure | 失败回调 |
示例代码
TuyaHomeSdk.getDeviceShareInstance().confirmShareInviteShare(shareId, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
备注:群组ID显示在面板上
接口说明
void queryGroupSharedUserList(long groupId, ITuyaResultCallback<List<SharedUserInfoBean>> callback);
参数说明
参数 | 说明 |
---|---|
groupId | 群组id |
success | 成功回调 |
failure | 失败回调 |
示例代码
TuyaHomeSdk.getDeviceShareInstance().queryGroupSharedUserList(mGroupId, new ITuyaResultCallback<List<SharedUserInfoBean>>() {
@Override
public void onSuccess(List<SharedUserInfoBean> result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
void addShareUserForGroup(long homeId, String countryCode, String userAccount, long groupId, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
homeId | 家庭id |
countryCode | 国家码 |
userAccount | 用户账号 |
groupId | 群组id |
success | 成功回调 |
failure | 失败回调 |
示例代码
TuyaHomeSdk.getDeviceShareInstance().addShareUserForGroup(homeId, countryCode, userAccount, groupId, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
接口说明
void removeGroupShare(long groupId, long memberId, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
memberId | 成员id |
groupId | 群组id |
success | 成功回调 |
failure | 失败回调 |
示例代码
TuyaHomeSdk.getDeviceShareInstance().removeGroupShare(groupId, memberId, new IResultCallback() {
@Override
public void onError(String code, String error) {
}
@Override
public void onSuccess() {
}
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈