插座原生控制面板

更新时间:2022-02-17 07:29:45

插座原生控制面板基于原生代码开发,是支持所有插座品类设备的控制面板。

功能优势

  • 轻量级,不含 React Native 等框架。

  • 支持所有插座品类设备,无需应用发版即可提前支持新品。

  • 便于开发阶段调试。

    插座原生控制面板 插座原生控制面板 插座原生控制面板

使用方法

相关依赖

implementation 'com.tuya.smart:TuyaSocketPanel:1.0.1'

接口说明

void openDefaultPanel(Context context, String devId, MenuBean menuBean);

参数说明

参数 说明
context 上下文,用于打开Activity
devId 设备 ID
menuBean 用于创建和显示自定义的 menu 及事件

menuBean 参数用于创建和显示自定义的 menu 及事件,如不需要可以传 null。

MenuBean 数据模型

字段 类型 描述
menuRes int 自定义menu资源 ID
menuItemId int 自定义menu下的itemId
bundle Bundle 自定义传递数据Bundle,使用IDefaultPanelController.BUNDLE_KEY从Intent获取
activityClassName String 自定义Activity的ClassName,如TestActivity.class.getName()

Java 示例

MenuBean menuBean = new MenuBean();
menuBean.setMenuRes(R.menu.common_menu);
menuBean.setMenuItemId(R.id.check);
Bundle bundle = new Bundle();
bundle.putString("DEV_ID_KEY", devId);
menuBean.setBundle(bundle);
menuBean.setActivityClassName(TestActivity.class.getName());
IDefaultPanelController defaultPanelController = PluginManager.service(IDefaultPanelController.class);
defaultPanelController.usePanel(new HomeSDKPanel());
defaultPanelController.openDefaultPanel(context, devId, menuBean);

原生控制面板使用startActivityForResult(Intent, IDefaultPanelController.REQUEST_CODE_DEFAULT_PANEL)打开自定义Activity,在onActivityResult下判断(requestCode == IDefaultPanelController.REQUEST_CODE_DEFAULT_PANEL && resultCode == RESULT_OK)true会关闭原生控制面板。