Police arrested 34-year-old Ian Evans as he left work in Bensalem on Friday.
Investigators say Evans sent sexually explicit messages and images to a 13-year-old girl he met through a dating app last month.
Police say no child was ever in danger during the investigation.
Evans was charged with sexual abuse of children, unlawful contact with a minor, corruption of minors, and criminal use of a communication facility.
He is being held at the Bucks County Correctional Facility on 10% of $1,000,000 bail.