You are saying your chameleon hasn't eaten in 4 weeks or 1 week?
Ways to end a hunger strike that have worked for me:
1) Do not offer food for a day. Leave none in the cage. Next day, try offering one prey item by hand or cup. If he eats, continue feeding one at a time until finished. If not, try again several hours later, until he's eaten.
1.5) Do not offer food for a day. Next day, leave one or two prey items in a cup the next day. Leave the chameleon as isolated as possible during the day. Sometimes they get in a mood where too much activity nearby them will stress them and make them not want to eat when others are around.
2) Offer a different prey item than normal.
3) Offer very "active" prey (wiggling worms, crickets, etc).