diff --git a/interfaces/kits/js/src/mod_fs/class_tasksignal/ani/task_signal_listener_ani.cpp b/interfaces/kits/js/src/mod_fs/class_tasksignal/ani/task_signal_listener_ani.cpp index b28b22034c257ecb22270ed7992559e0515e52c2..bc410820f64d62c0ea7a7ac80003a5c3c4f1272e 100644 --- a/interfaces/kits/js/src/mod_fs/class_tasksignal/ani/task_signal_listener_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/class_tasksignal/ani/task_signal_listener_ani.cpp @@ -43,9 +43,6 @@ bool TaskSignalListenerAni::CreateGlobalReference() void TaskSignalListenerAni::OnCancel() { - if (!CreateGlobalReference()) { - return; - } auto filepath = taskSignal->filePath_; auto task = [this, filepath]() { SendCancelEvent(filepath); }; AniHelper::SendEventToMainThread(task); diff --git a/interfaces/kits/js/src/mod_fs/class_tasksignal/ani/task_signal_listener_ani.h b/interfaces/kits/js/src/mod_fs/class_tasksignal/ani/task_signal_listener_ani.h index ab84ded3828f54c1f49cc7f6380365d077bfe4f6..24df68674dcb45ba5fce79d55e6de5995571ab5d 100644 --- a/interfaces/kits/js/src/mod_fs/class_tasksignal/ani/task_signal_listener_ani.h +++ b/interfaces/kits/js/src/mod_fs/class_tasksignal/ani/task_signal_listener_ani.h @@ -26,7 +26,10 @@ using namespace DistributedFS::ModuleTaskSignal; class TaskSignalListenerAni : public TaskSignalListener { public: TaskSignalListenerAni(ani_vm *vm, const ani_object &signalObject, std::shared_ptr taskSignal) - : vm(vm), signalObj(signalObject), taskSignal(taskSignal) {} + : vm(vm), signalObj(signalObject), taskSignal(taskSignal) + { + CreateGlobalReference(); + } void OnCancel() override; public: