/*不是第一次使用的时候,搜索完毕自动匹配存储好的密码进行链接*/ private void autoMatchAfterDiscoverEnd() { ArrayList<CameraData> cameraList = onvifMgr.getOnvifData().getCameras(); // 搜索到的所有设备 System.out.println("camera List size ===" + cameraList.size()); // 先清空一下所有的List onvifMgr.getOnvifData().initData(); for (CameraData camera : cameraList) { LocalCamera lCamera = onvifMgr.getLocalCameraByUUid(camera); if (lCamera != null) { camera.setUsername(lCamera.getUsername()); camera.setPassword(lCamera.getPassword()); onvifMgr.getOnvifData().getCurrentCameras().add(camera); } } System.out.println("current size=====" + onvifMgr.getOnvifData().getCurrentCameras().size()); /*本地没有保存用户名和密码*/ if (onvifMgr.getOnvifData().getCurrentCameras().size() <= 0) { onResumeFlag = 1; Intent intent = new Intent(); intent.setClass(CamerasGridActivity.this, DeviceListActivity.class); CamerasGridActivity.this.startActivity(intent); } else { /*本地保存用户名和密码,直接播放*/ for (int i = 0; i < onvifMgr.getOnvifData().getCurrentCameras().size(); i++) { onvifMgr.getOnvifData().getGridsItemList().get(i).setStatus(0); View view = cameraGrid.getChildAt(i); GridViewHolder holder = (GridViewHolder) view.getTag(); holder.vv.setBackgroundResource(R.drawable.camera_default); CameraData camera = onvifMgr.getOnvifData().getCurrentCameras().get(i); String username = camera.getUsername(); String password = camera.getPassword(); String deviceService = onvifMgr.getOnvifData().getCurrentCameras().get(i).getDevice().getDeviceService(); boolean isGetCapa = onvifMgr.getDeviceCapabilities(username, password, deviceService); boolean auth = onvifMgr.getMediaStreamUri(username, password, deviceService); if (isGetCapa && auth) { /*vv背景设置为透明*/ holder.vv.setBackgroundColor(R.color.transparency); onvifMgr.play(i, holder.vv); cameraGrid.requestFocus(); } } } }