diff --git a/app/src/main/cpp/MicroPhoto.cpp b/app/src/main/cpp/MicroPhoto.cpp index 0f6c3b6e..5a307ab8 100644 --- a/app/src/main/cpp/MicroPhoto.cpp +++ b/app/src/main/cpp/MicroPhoto.cpp @@ -315,6 +315,7 @@ Java_com_xypower_mpapp_MicroPhotoService_init( CPhoneDevice* device = new CPhoneDevice(vm, pThis, appPathStr, NETID_UNSET, versionCode); device->SetListener(pTerminal); device->UpdateSignalLevel(signalLevel); + device->UpdateSimcard(simcardStr); pTerminal->InitServerInfo(appPathStr, cmdidStr, ipStr, port, udpOrTcp, encryptData); // pTerminal->SetPacketSize(1 * 1024); // 1K diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 527745bb..7b115eac 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -376,8 +376,15 @@ bool CPhoneDevice::QuerySystemProperties(std::map& pro } else if (it->first == PROP_IMEI) { - __system_property_get("phone.imei", value); - it->second = value; + if (m_simcard.empty()) + { + __system_property_get("phone.imei", value); + it->second = value; + } + else + { + it->second = m_simcard; + } } else if (it->first == PROP_OPERATION_TEMP) { @@ -1426,4 +1433,9 @@ void CPhoneDevice::UpdateSignalLevel(int signalLevel) { m_signalLevel = signalLevel; m_signalLevelUpdateTime = time(NULL); +} + +void CPhoneDevice::UpdateSimcard(const std::string& simcard) +{ + m_simcard = simcard; } \ No newline at end of file diff --git a/app/src/main/cpp/PhoneDevice.h b/app/src/main/cpp/PhoneDevice.h index b3b550e5..e05a10f2 100644 --- a/app/src/main/cpp/PhoneDevice.h +++ b/app/src/main/cpp/PhoneDevice.h @@ -202,6 +202,7 @@ public: void UpdatePosition(double lon, double lat, double radius, time_t ts); bool OnVideoReady(bool result, const char* path, unsigned int photoId); void UpdateSignalLevel(int signalLevel); + void UpdateSimcard(const std::string& simcard); protected: @@ -298,6 +299,8 @@ protected: int m_signalLevel; time_t m_signalLevelUpdateTime; + std::string m_simcard; + };