Android客户端信息采集SDK.md
1 功能概述
可以收集移动端的终端信息、终端状态、网络状态、信号信息、地理信息等
2 sdk集成
2.1 开启收集器
CollectorConfig config = new Builder(ConfigActivity.this)//此处传入上下文
        .setLocationPeriod(locationPeriod)
        .setTerminalInfoPeriod(infoPeriod)
        .setTerminalStatePeriod(statePeriod)
        .setNetworkPeriod(networkPeriod)
        .setSignalPeriod(signalPeriod).build();
TerminalCollector.getInstance().init(config).start();
其中locationPeriod、infoPeriod、statePeriod、networkPeriod、signalPeriod分别是位置信息收集间隔、终端信息收集间隔、终端状态收集间隔、网络信息收集间隔、信号信息收集间隔。
2.2 收集终端信息
EventBus.getDefault().unregister(this);
@Subscribe(threadMode = ThreadMode.MAIN)
  public void onInfoEvent(TerminalInfo terminalInfo) {
    String json = JsonUtil.createJson(terminalInfo, TerminalCollector.getInstance().getImei(),terminalInfo.getTopic());
    int type = getActivity().getSharedPreferences(ConfigActivity.PREF_NAME,Context.MODE_PRIVATE).getInt(ConfigActivity.PROTOCOL_TYPE, 1);
    Client.getInstance().send(json,ProtocolType.from(type));
  }
2.3 收集终端状态
EventBus.getDefault().unregister(this);
@Subscribe(threadMode = ThreadMode.MAIN)
  public void onStateEvent(TerminalState terminalState) {
    adapter.addResult(terminalState.toString());
  }
2.3 收集网络状态
EventBus.getDefault().unregister(this);
@Subscribe(threadMode = ThreadMode.MAIN)
  public void onNetworkEvent(NetworkInfo info) {
    adapter.addResult(info.toString());
  }
2.4 收集信号信息
EventBus.getDefault().unregister(this);
@Subscribe(threadMode = ThreadMode.MAIN)
  public void onSignalEvent(CellGeneralInfo cellGeneralInfo) {
    adapter.addResult(cellGeneralInfo.toString());
  }
2.5 收集地理信息
EventBus.getDefault().unregister(this);
@Subscribe(threadMode = ThreadMode.MAIN)
    public void onLocationEvent(TcLocation location) {
        double latitude = location.getLatitude();
        double longitude = location.getLongitude();
    }