diff --git a/mpmaster/src/main/cpp/mpmaster.cpp b/mpmaster/src/main/cpp/mpmaster.cpp index 54d16081..a7da0674 100644 --- a/mpmaster/src/main/cpp/mpmaster.cpp +++ b/mpmaster/src/main/cpp/mpmaster.cpp @@ -79,6 +79,15 @@ int setGpioInt(int cmd, int val) } return -1; } +extern "C" JNIEXPORT jstring JNICALL +Java_com_xypower_mpmaster_MpMasterService_getSerialNumber( + JNIEnv* env, + jclass cls) { + + char value[PROP_VALUE_MAX] = { 0 }; + __system_property_get("ro.serialno", value); + return env->NewStringUTF(value); +} extern "C" JNIEXPORT jint JNICALL Java_com_xypower_mpmaster_MpMasterService_setInt(JNIEnv* env, jclass cls, jint cmd, jint val) { diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java index c6c69c03..c8582795 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java @@ -567,6 +567,10 @@ public class MpMasterService extends Service { if (appConfig.heartbeat > 0) { mMpHeartbeatDuration = appConfig.heartbeat * 60000; } + if(TextUtils.isEmpty(appConfig.cmdid)) + { + appConfig.cmdid = MpMasterService.getSerialNumber(); + } logger.warning("Start Mntn report: " + masterUrl + " MntnMode=" + (mMntnMode ? "1" : "0") + " QuickHB=" + (mQuickHbMode ? "1" : "0")); @@ -1347,6 +1351,7 @@ public class MpMasterService extends Service { public native static int getInt(int cmd); public native static int setInt(int cmd, int val); + public static native String getSerialNumber(); public native static int[] getStats(long ts); public native static String getSystemProperty(String key); public native static void rebootDevice();