How to use OnFinishedPlaying?

I want to fire callback when the character animation end.But it doesn’t work for me.Do i use it worng?Or we have another solution.Please help.Thanks.

SoldierCharacter.h

UFUNCTION(Category = "Callback")
void FinishedPlaying();

SoldierCharacter.cpp

void ASoldierCharacter::BeginPlay()
{
    Super::BeginPlay();
    GetSprite()->OnFinishedPlaying.AddDynamic(this, &ASoldierCharacter::FinishedPlaying);
}

void ASoldierCharacter::FinishedPlaying()
{
    if (GEngine)
    {
        GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, "Work");
    }
}