I've found a difference in behavior between S60 v3.0 and 3.1 devices when the application is in the background. Simply, on 3.0 devices (e.g. N73 and E61) the media keys are reported to the application anyway, while on 3.1 devices (N95 and 6120) they are not.
I was using the volume keys to bring the application to the foreground from the phone idle screen - where the volume keys aren't used anyway - on 3.0 devices. I'd be interested to know whether there's any way to get those events in the background on 3.1+ devices...
Also, I didn't add yet the User::WaitForRequest calls listed in the example, but everything seems to work OK (in applications other than my own as well), what is the purpose of these calls?
10x
Uriah
Thank your for your feedback. On most devices only volume keys can be used in 3rd party applications using this API.
Forum Nokia KB 11:14, 16 October 2007 (UTC)
Contrary to what the previous poster found, I have found that applications do receive volume key events when they are in the background on the Nokia N95-1. This is with firmware 30.0.015.
I have found that different commands are generated when the volume control on the side of the phone is used from when the volume control on the headphone remote is used. This is on an N95-1 with 30.0.015 firmware. Full details and a link to some sample code can be found on my blog.
Thank you for your feedback. The article has been updated.
Forum Nokia KB 09:15, 5 December 2008 (EET)