The 27-year-old Cannon was caught Thursday in Shreveport, the same northwestern Louisiana city where authorities say he shot and killed police Officer Thomas LaValley the night before.
"CAPTURED!!!" read a Louisiana State Police Facebook post
that noted the suspect was in custody, accompanied by a picture of a shirtless Cannon in the back of a police car.
A subsequent post stated that Cannon was arrested at about 3:15 p.m. (4:15 p.m. ET) and transported to police headquarters.
The previous night, LaValley allegedly ran into Cannon while responding to a call about a potential prowler at a home. The suspect was initially believed to be in the home, armed and threatening to harm people, according to police spokesman Marcus Hines.
LaValley confronted Cannon, who fired multiple shots, police Chief Willie Shaw said. The officer was taken to a hospital, where he was pronounced dead.
His death led authorities to offer up to $25,000 for information leading to an arrest, a stern warning to "DO NOT APPROACH" the suspect and strong words from the police chief.
"He is nothing to me but a coward who would shoot an officer and hide and run," Shaw said. "No matter what rock he crawls under, we will find him."
Accused of shooting a man in July
The LaValley shooting wasn't the first Cannon was allegedly involved in, even this summer.
Shreveport police, on Facebook, identified him as the suspect in a July 15 shooting.
Detectives believe Cannon got into a dispute with a 45-year-old man, wounding him at least three times.
The victim was treated at a hospital, while an arrest warrant was issued for Cannon on one count of attempted second-degree murder.
20th officer killed this year in U.S.
Over the weekend, a police officer in Memphis, Tennessee, was shot and killed during a regular traffic stop.
Officer Sean Bolton saw an illegally parked car, pulled up in front of it and shined his spotlight. When he approached the vehicle, a passenger confronted him.
A struggle ensued, and the passenger shot Bolton multiple times, authorities said. The car drove off, leaving the officer for dead.