Pryor had visited the Bills on Monday.
Bills coach Sean McDermott confirmed Tuesday that Pryor was traveling back to Buffalo, prior to the deal's being announced. McDermott did not want to say whether Pryor would be considered to play quarterback given injuries to rookie Josh Allen (elbow) and veteran Derek Anderson (concussion).
"Nothing is finalized, so we'll just take it one step at a time," McDermott said.
A source told ESPN's Turron Davenport that Pryor's decision came down to the Bills and Tennessee Titans.
The Bills released cornerback Dontae Johnson.
The New York Jets released Pryor earlier this month. The 29-year-old wide receiver had a tear in his groin at the time of his release but apparently is healthy now.
The former Ohio State quarterback caught a touchdown pass in each of the Jets' two games before his release, against the Broncos and Colts. He has 14 receptions for 235 yards on the season.
Pryor had only 20 receptions for 240 yards and one touchdown in nine games for the Washington Redskins in 2017.
He signed a one-year, $4.5 million deal, which included a $1 million signing bonus, with the Jets in March.