As a true freshman, Cannon played in all 13 games. He finished the season with Baylor freshman records 58 receptions for 1,030 yards and 8 touchdowns. As a Sophomore, Cannon played in all 13 games recording 50 receptions for 868 yards and 6 touchdowns. Following up a solid sophomore season with a great junior year, Cannon finished the year with 87 receptions for 1,215 yards and 13 receiving touchdowns. Cannon declared for the 2017 NFL Draft on December 28, 2016, after a huge performance in the Cactus Bowl in which he had 14 receptions for 226 yards and 2 touchdowns.[5][6][7] After the season, Cannon announced that he decided he would forgo his senior year and enter the 2017 NFL draft.[8]
On May 9, 2017, Cannon was claimed off waivers by the New York Jets.[13] He was waived on July 28, 2017.[14]
Los Angeles Rams
On August 4, 2017, Cannon was signed by the Los Angeles Rams.[15] He was waived on September 2, 2017.[16]
Dallas Cowboys
On December 27, 2017, Cannon was signed to the Dallas Cowboys' practice squad.[17] He signed a reserve/future contract with the Cowboys on January 1, 2018.[18]
On September 1, 2018, Cannon was waived by the Cowboys.[19]
Cannon signed with the XFL's Team 9practice squad during the regular season. He was signed off of Team 9 by the Seattle Dragons on March 9, 2020.[22] He had his contract terminated when the league suspended operations on April 10, 2020.[23]
On January 15, 2024, Cannon was selected by the San Antonio Brahmas in the sixth round of the Super Draft portion during the 2024 UFL dispersal draft.[28] He signed with the team on January 31.[29] He was waived on August 23, 2024.[30]