The Bills announced Saturday that rookie quarterback Josh Allen was ruled out after being limited in practice all week. He hasn't played since suffering an elbow sprain during a 20-13 loss at Houston on Oct. 14.
Buffalo decided to give Barkley a shot after Nathan Peterman was ineffective in last week's 41-9 loss versus Chicago. Derek Anderson, who played in losses at Indianapolis 37-5 on Oct. 21 and to New England 25-6 on Oct. 29, is in concussion protocol.
Barkley, who starred at USC, was a fourth-round pick by Philadelphia in the 2013 draft. He appeared in four games with the Eagles. He didn't play while with Arizona in 2015 and 2017 and appeared in seven games (six starts) with Chicago in 2016, last starting a game in that season's finale.
Barkley played with Cincinnati this preseason but was beat out for the back-up job by Jeff Driskel. For his career, Barkley has completed 58.6 percent of his 266 pass attempts with eight touchdowns and 18 interceptions.
Barkley faces a big challenge in jump-starting an offense that has scored a total of 20 points in the last three games and 33 during a four-game losing streak in which the Bills have allowed 123 points. Buffalo has the worst offense in the NFL at 10.7 points per game and its average of 248.3 total yards is better than only Arizona.