Integrating QR codes for event attendance
We have built such a solution, though no extension is available.

The key is that the QR Code simply needs to contain a URL request, with embedded querystring parameters such as event_id and participant_id. Pretty much any stock QR scanning app will recognize it as a URL, and will simply pass it on to the device's browser.

We wrote a simple PHP program that was called in the URL, that grabbed the querystring parameters (event_id and contact_id in our case), and called the CiviCRM API to change the participant status to 'Attended'. 

Our app also returned a screen back to the device browser that reflected add-ons that the participant had purchased (lunches in our case).

This does have a bit of a security risk.  We got around this risk, by having a separate URL the device browser would be directed to that the user could log into and have a cookie dropped onto their device (which was then subsequently interrogated by the main PHP script to validate).