I've never had anything go more than 2 weeks unless I was dry hopping, or making a sour.
The only way to know if it's done is to wait another couple days then recheck.
Burping indicates very little, honestly. At best, it gives you a very very rough idea of activity. Finished fermentation will still burp because the "wort" (now beer) has some carbonation...enough for airlock activity. 3-4 burps during a Rush song to me could either mean there's still activity or it's still done. That's how useful it is.
To solve this confusion, don't let the fermenter "ride" for 4 weeks. I don't know why some people do this, when it's done, it's done. Better to have it age in bottles than ontop of yeast cake and hop trub. Instead, you should check it at the 10 day mark, then check it on the 14 day mark. In most cases, the readings are the same, indicating that it's done. If the measurement changes, try at the 16 day mark. No way most beers need more than that.
It may just be stuck at 1.020. How did you make it? What yeast? What mash temp? Fermentation temp?
Usually 1.020 indicates an unusually high mash temp (poor attenuation), or sub-optimal batch of extract if you are extract or partial mashing (similar to the first issue), or the honey you used had lots of non-fermentables in it.
When I was partial mashing, I had an partial mash habanero IPA that was "stuck" at 1.020 and the LHBS thought it was the best habanero IPA he's ever had. I told him the FG of it and he was surprised, so don't get too caught up.
Others may tell you, and I would mostly agree, to just keg it. There is no way that beer is still fermenting at 4 weeks. But again, if you wanted to play it safe, wait a couple days and recheck.
btw, when's the last time you calibrated your hydrometer? I just tossed one last week that was reading 05.5 too low.....