15. 获取异常信息

当设备发送异常后, 重新连接上可以获取设备异常信息

示例代码

//创建任务
final ReadLogcatTask task = new ReadLogcatTask(mWatchManager);
//设置监听器
task.setListener(new TaskListener() {
    @Override
    public void onBegin() {
        //回调任务开始
    }

    @Override
    public void onProgress(int progress) {
        //回调进度
    }

    @Override
    public void onFinish() {
        //回调任务完成
        JL_Log.i(tag, "ReadLogcatTask: onFinish : read logcat size = " + task.getResult().length);
        uploadLogFile(task.getResult());
    }

    @Override
    public void onError(int code, String msg) {
        //回调任务异常信息
        JL_Log.w(tag, "ReadLogcatTask: onError : " + code + ", " + msg);
        if (null != finishListener) finishListener.onFinish();
    }

    @Override
    public void onCancel(int reason) {
        //回调任务被取消, 该任务暂不支持取消操作
    }
});
//执行任务
task.start();

Note

  1. 错误码参考 3.13   错误码定义

15.1. 流程图

../../_images/obtain_exception_message_flow.jpg

Important

  1. 用户可以保存获取的异常信息, 也可以上传到服务器

  2. 具体实现参考 com.jieli.healthaide.tool.watch.synctask.DeviceLogcatSyncTask

15.2. 错误码

码值

对应的常量

描述

WatchError#ERR_REMOTE_NOT_CONNECT

TaskBase#ERR_DEVICE_NOT_CONNECT

设备未连接

WatchError#ERR_FUNC_NOT_SUPPORT

TaskBase#ERR_FUNC_NOT_SUPPORT

功能不支持

WatchError#ERR_CRC_CHECK

TaskBase#ERR_CRC_CHECK

CRC校验失败

WatchError#ERR_IO_EXCEPTION

TaskBase#ERR_IO_EXCEPTION

IO异常