Use CSensrvChannelFinder::FindChannelsL to scan for the sensor channels a device supports.
For information about which sensor channel types are supported in different devices, see the Device specifications on Forum Nokia.
#include <sensrvchannelfinder.h>
...
CSensrvChannelFinder* finder = CSensrvChannelFinder::NewLC();
RSensrvChannelInfoList channelList;
TSensrvChannelInfo info;
finder->FindChannelsL( channelList, info );
for (TInt i = 0; i<channelList.Count(); i++)
TBuf<100> type;
info = channelList[i];
switch(info.iChannelType)
{
case KSensrvChannelTypeIdUndefined:
type = _L("Undefined - Error if you see it");
break;
case KSensrvChannelTypeIdOrientationData:
type = _L("Orientation Data");
break;
case KSensrvChannelTypeIdRotationData:
type = _L("Rotation Data");
break;
case KSensrvChannelTypeIdAmbientLightData:
type = _L("Ambient Light Data");
break;
case KSensrvChannelTypeIdMagneticNorthData:
type = _L("Magnetic North Data");
break;
case KSensrvChannelTypeIdMagnetometerXYZAxisData:
type = _L("Magnetometer XYZ Axis Data");
break;
case KSensrvChannelTypeIdAccelerometerXYZAxisData:
type = _L("Accelerometer XYZ Axis Data");
break;
case KSensrvChannelTypeIdProximityMonitor:
type = _L("Proximity Monitor");
break;
case KSensrvChannelTypeIdAccelerometerDoubleTappingData:
type = _L("Accelerometer Double Tapping Data");
break;
default:
type.Format(_L("Unknonwn: 0x%08x"),info.iChannelType);
}
CAknInformationNote* note = new (ELeave) CAknInformationNote (ETrue);
note->ExecuteLD(type);
}
CleanupStack::PopAndDestroy(finder);
}