James McGonagle, 24, is accused of attempting to kidnap the five-year-old boy while he was walking with his mother and siblings in Queens.
Video footage shows Mr McGonagle snatching the youngster and putting him in a car, before his mother, Dolores Diaz Lopez, manages to get the child out of an open window.
Police said a second man in the car was the father of Mr McGonagle, a 55-year-old who also goes by the name of James McGonagle.
Investigators do not know if her father was aware of the kidnapping attempt, according to Le New York Post.
Following the incident, the younger Mr. McGonagle went to Brookdale Hospital in Brooklyn, where he allegedly punched a passer-by in the face.
A police officer at the hospital in a separate case recognized the suspect from surveillance video and sounded the alarm. Upon his arrest, Mr. McGonagle was caught by a body camera from an office saying “I attempted to abduct a child today,” sources told The Post.
Mr. McGonagle was admitted to the hospital’s psychiatric ward early Friday, police sources added.
His court appearance was postponed when the suspect allegedly punched a police officer who was trying to take his fingerprints on Saturday.
He remains at Brookdale Hospital and now faces an additional assault charge against a police officer.
“You can’t go to the judge until we have formally identified you and he won’t let us take his fingerprints without hitting us in the face,” an NYPD source told the newspaper. “He will therefore be the guest of the government for the moment.
He is also charged with attempted kidnapping, reckless endangerment and acting prejudicially to a child in connection with the incident, the NYPD said.
Investigators are still trying to find his father.