diff --git a/frameworks/native/src/sensor_agent_proxy.cpp b/frameworks/native/src/sensor_agent_proxy.cpp index 61cdfb01bfe68415609d0b314c10a7a9bb38f372..1ada7279140994485d56819950af5d76ed5699ca 100644 --- a/frameworks/native/src/sensor_agent_proxy.cpp +++ b/frameworks/native/src/sensor_agent_proxy.cpp @@ -60,9 +60,13 @@ std::set SensorAgentProxy::GetSubscribeUserCallback(int32_ } std::set callback; for (const auto &it : iter->second) { - auto ret = callback.insert(it->callback); - if (!ret.second) { - SEN_HILOGE("callback insert fail"); + if (it->callback != nullptr) { + auto ret = callback.insert(it->callback); + if (!ret.second) { + SEN_HILOGE("callback insert fail"); + } + } else { + SEN_HILOGE("callback has been destroyed"); } } return callback;