# Example code Source: [https://docs.qualcomm.com/doc/80-PK177-134/topic/example_code_QC_4.html](https://docs.qualcomm.com/doc/80-PK177-134/topic/example_code_QC_4.html) The following sample code snippets can be used as reference. ## Get QESDK SensorsManager instance qesdkManager = IQesdk.createInstance(getApplicationContext()); SensorsManage sensorsManager = new SensorsManager(qesdkManager); int status = sensorsManager.init([String license], (opcodes, subsystem) -> { // Callback handle });Copy to clipboard ## Session creation sensor_session_id = sensorsManager.create_session();Copy to clipboard ## Register event callback try { sensorsManager.register_event_callback(sensor_session_id, (msg, id)-> { byte[] message = Arrays.copyOf(msg, msg.length); String[] events = ProtobufAPI.decodeEvent(message); if(events.length > 0 && events[0] != null){ showOnUI(“events received:%s”, Arrays.toString(events)); if(events[0].contains(“SNS_SUID_EVENT”)) suid = ProtobufAPI.decodeSUIDEvent(message); else if(events[0].contains(“SNS_AR_EVENT”)){ String event = ProtobufAPI.decodeAREvent(message); updateData(event, events[1]); } } }); }catch (QesdkStatusException e) { Log.e("QesdAPP", "Session id: " + sessionId + "Error:" + e); }Copy to clipboard ## Get available sensors try { sensors_list = sensorsManager.get_sensors_list(); } catch (QesdkStatusException e) { Log.e("QesdAPP", "fail to get API result Session id: " + sessionId + "Error:" + e); }Copy to clipboard ## Send request byte[] proto_message = null; try { proto_message = getRequest(); //This function returns protobuf encoded //request message, refer section 4.2.1.1 } catch (InvalidProtocolBufferException e) { e.printStackTrace(); Log.e("QesdAPP", "protobuf exeption happens"); return; } catch (IOException e) { e.printStackTrace(); Log.e("QesdAPP", "IO exeption happens"); return; } int proto_message_size = proto_message.length; Log.d("QesdAPP", "trying to call send_request sessionId = " + sessionId + "sensor_session_id = " + sensor_session_id + "protobuf size = " + proto_message_size); try { ret = sensorsManager.send_request(sensor_session_id, proto_message, proto_message_size); } catch (QesdkStatusException e) { Log.e("QesdAPP , "fail to get API result Session id: " + sessionId + "sensor_session_id = " + sensor_session_id + "Error:" + e); }Copy to clipboard **Parent Topic:** [Sensor API](https://docs.qualcomm.com/doc/80-PK177-134/topic/qesdk_sensor_apis.html) Last Published: Nov 14, 2024 [Previous Topic Decoding message](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/decoding_message.md) [Next Topic Performance API](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/performance_api_qape.md)