public <T> T invokeModuleFunction(String methodName, Object... argv) {
        try {
            if (Modules.Encrypt.METHOD_ENCRYPT_AES.equals(methodName)) {
                return (T) encryptAES((String) argv[0]);
            } else if (Modules.Encrypt.METHOD_DECRYPT_AES.equals(methodName)) {
                return (T) decryptAES((String) argv[0]);
            } else if (Modules.Encrypt.METHOD_VERIFY_SECRET_KEY.equals(methodName)) {
                return (T) verifySecretKey((Uri) argv[0]);
            } else if (Modules.Encrypt.METHOD_ENCRYPT_EVENT_DATA.equals(methodName)) {
                return (T) encryptEventData(argv[0]);
            } else if (Modules.Encrypt.METHOD_ENCRYPT_EVENT_DATA_WITH_KEY.equals(methodName)) {
                return (T) encryptEventData(argv[0], (SecreteKey) argv[1]);
            } else if (Modules.Encrypt.METHOD_STORE_SECRET_KEY.equals(methodName)) {
                storeSecretKey((String) argv[0]);
            } else if (Modules.Encrypt.METHOD_LOAD_SECRET_KEY.equals(methodName)) {
                return (T) loadSecretKey();
            } else if (Modules.Encrypt.METHOD_VERIFY_SUPPORT_TRANSPORT.equals(methodName)) {
                return (T) mSecretKeyManager.isSupportTransportEncrypt();
            } else if (Modules.Encrypt.METHOD_STORE_EVENT.equals(methodName)) {
                SAEncryptListener encryptListener = mSensorsDataEncrypt.getEncryptListener();
                if (encryptListener instanceof AbsSAEncrypt) {
                    return (T) ((AbsSAEncrypt) encryptListener).encryptEventRecord((String) argv[0]);
                }
            } else if (Modules.Encrypt.METHOD_LOAD_EVENT.equals(methodName)) {
                SAEncryptListener encryptListener = mSensorsDataEncrypt.getEncryptListener();
                if (encryptListener instanceof AbsSAEncrypt) {
                    return (T) ((AbsSAEncrypt) encryptListener).decryptEventRecord((String) argv[0]);
                }
            }
        } catch (Exception e) {
            SALog.printStackTrace(e);
        }
        return null;
    }
@Test
    public void invokeModuleFunction() {
        SAHelper.initSensors(mApplication);
        SAEncryptAPIImpl encryptAPIImpl = new SAEncryptAPIImpl(SensorsDataAPI.sharedInstance(mApplication).getSAContextManager());
        encryptAPIImpl.invokeModuleFunction(Modules.Encrypt.METHOD_LOAD_SECRET_KEY);
    }