Authorities said 43-year-old Adam Blumenkranz dropped a bag on the plane that the flight attendant believed to be marijuana. She handed it back to him and planned to speak to authorities after landing.
During the flight, Blumenkranz went to the bathroom, and when he emerged, there was a strong smell of marijuana, according to the crew.
Airport police say Blumenkranz claimed it was for medicinal purposes.
Blumenkranz has been charged with possession of drugs and drug paraphernalia. He was ordered to appear in court in Elizabeth, New Jersey, by Jan. 27.
The Associated Press contributed to this report.