Something like this is currently being toyed with to try to draw power from people stepping on special tiles, but even those are just barely able to actualyl provide useful power and are incredibly expensive, I'm not even sure if they're piezo based. Totally impractical on a small scale like a cell phone though. It could possible work for something as large as a full scale keyboard if someone typed all the time, but even then the amount of energy available is incredibly small, especially with the horrible efficiencies involved in converting it.