# Example code Source: [https://docs.qualcomm.com/doc/80-PK177-134/topic/java_example_code.html](https://docs.qualcomm.com/doc/80-PK177-134/topic/java_example_code.html) The following sample code shows the usage of QESDK Java APIs: **Required imports** import com.qualcomm.qti.qesdkIntf.IQesdk; import com.qualcomm.qti.qesdkIntf.IQesdkEventCallBack;Copy to clipboard **Declare callback** IQesdkEventCallBack eventCallbackHandler = new IQesdkEventCallBack() { @Override public void onEvent(int opcode, int[] subsys) { // Handle QESDK event } };Copy to clipboard **Initialize QESDK** IQesdk qesdkManager = IQesdk.createInstance(getApplicationContext()); int statusId = qesdkManager.init(eventCallbackHandler);Copy to clipboard **De-initialize QESDK** int ret = qesdkManager.deinit();Copy to clipboard **Get supported API** IQesdkApiInfo apiInfo = qesdkManager.getSupportedApiInfo(); // Get class name with highest version List> featureList = apiInfo.getFeatureList(); if (featureList != null && !featureList.isEmpty()) { for (Pair it : featureList) { String featureName = it.first; Integer version = it.second; // Get API names with feature name List apiNameList = apiInfo.getApiNameList(featureName); // Get API raw data with feature name List apiJsonList = apiInfo.getFullInfo(featureName); } }Copy to clipboard **Initialize Subsystem** ModemManager.init([String license], IQesdkEventCallBack cb )Copy to clipboard **De-Initialize Subsystem** ModemManager.deinit()Copy to clipboard **Parent Topic:** [QESDK Java API](https://docs.qualcomm.com/doc/80-PK177-134/topic/java_api.html) Last Published: Nov 14, 2024 [Previous Topic QESDK exceptions](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/java_exceptions.md) [Next Topic QESDK Native API](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/native_api.md)