android10调用涂鸦接口实现网关适配

布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    tools:context=".net.ActivityNetZigbee">
    <EditText
        android:id="@+id/tv_wifi_name"
        android:layout_gravity="center"
        android:gravity="left"
        android:hint="请输入wifi名称"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"/>
    <EditText
        android:id="@+id/tv_wifi_pwd"
        android:gravity="left"
        android:layout_margin="20dp"
        android:layout_gravity="center"
        android:hint="请输入wifi密码"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <TextView
        android:id="@+id/tv_wifi_prompt"
        android:layout_margin="20dp"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="请输入同一个局域网的wifi名称密码"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <Button
        android:id="@+id/btn_wifi_search"
        android:layout_margin="20dp"
        android:layout_gravity="center"
        android:text="搜索"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
<!-- android:indeterminate="true" 表示未知时长进度   -->
    <com.google.android.material.progressindicator.CircularProgressIndicator
        android:id="@+id/cpi_wifi_progress"
        android:layout_gravity="center"
        android:visibility="gone"
        android:indeterminate="true"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>

主界面关键代码

public class ActivityNetZigbee extends AppCompatActivity implements View.OnClickListener{
    private TuyaHomeSdk tuyaHomeSdk;
    private long homeId=29846363;   //写死
//    private EditText etWifiName,etWifiPwd;
//    private TextView tvPrompt;
//    private Button btnSearch;
//    private CircularProgressIndicator cpiProcess;
    private final static String TAG="ActivityNetZigbee:xwg";
    private ActivityNetZigbeeBinding activityNetZigbeeBinding;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_net_zigbee);
        activityNetZigbeeBinding= ActivityNetZigbeeBinding.inflate(LayoutInflater.from(this));
        setContentView(activityNetZigbeeBinding.getRoot());
        activityNetZigbeeBinding.btnWifiSearch.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
//        重写点击按钮方法
        String strWifiName=activityNetZigbeeBinding.tvWifiName.getText().toString();
        String strWifiPwd=activityNetZigbeeBinding.tvWifiPwd.getText().toString();
        if (v.getId()==R.id.btn_wifi_search){
            if(strWifiName.length()==0||strWifiPwd.length()==0){
                Toast.makeText(ActivityNetZigbee.this,"wifi name or pws must not be null!",Toast.LENGTH_SHORT).show();
            }
            else{
                tuyaHomeSdk=new TuyaHomeSdk();
                tuyaHomeSdk.getActivatorInstance().getActivatorToken(homeId, new ITuyaActivatorGetToken() {
                    @Override
                    public void onSuccess(String token) {
                        Log.i(TAG,"get token success,start zigbee mode!");
                        ActivatorBuilder builder = new ActivatorBuilder()
                                .setSsid(strWifiName)
                                .setContext(v.getContext())
                                .setPassword(strWifiPwd)
                                .setActivatorModel(ActivatorModelEnum.TY_EZ)
                                .setTimeOut(100)
                                .setToken(token)
                                .setListener(new ITuyaSmartActivatorListener() {
                                    @Override
                                    public void onError(String errorCode, String errorMsg) {
                                        Log.i(TAG,"activater error,errorCode:"+errorCode+",errorMsg:"+errorMsg);
                                        activityNetZigbeeBinding.cpiWifiProgress.setVisibility(View.GONE);
                                        activityNetZigbeeBinding.btnWifiSearch.setClickable(true);
                                    }

                                    @Override
                                    public void onActiveSuccess(DeviceBean devResp) {
                                        Log.i(TAG,"onActiveSuccess!");
                                        activityNetZigbeeBinding.cpiWifiProgress.setVisibility(View.GONE);
                                        activityNetZigbeeBinding.btnWifiSearch.setClickable(false);
                                    }

                                    @Override
                                    public void onStep(String step, Object data) {
                                        Log.i(TAG,"onStep:"+step+",data:"+data);
                                    }
                                });
                        ITuyaActivator mTuyaActivator = TuyaHomeSdk.getActivatorInstance().newActivator(builder);
                        //开始配网
                        Log.i(TAG,"start search...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,");
                        mTuyaActivator.start();
                        activityNetZigbeeBinding.cpiWifiProgress.setVisibility(View.VISIBLE);   //显示转圈
                        activityNetZigbeeBinding.btnWifiSearch.setClickable(false);
                    }

                    @Override
                    public void onFailure(String errorCode, String errorMsg) {
                        Log.i(TAG,"get token error,errorCode:"+errorCode+",errorMsg:"+errorMsg);
                    }
                });
            }
        }
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值