How to get IMEI on 7710
Article Metadata
We could use PlpVariant to get imei in S60 2nd Edition development.
#if !defined(__WINS__) && !defined( __WINSCW__ )
PlpVariant::GetMachineIdL( iImei );
#else
iImei.Copy( KDefaultIMEI );
#endif
But it cannot work on 7710. We should use Etel3rdParty to read IMEI.
/* Declare the client class */
class CClientApp : public CActive
{
public:
// Construction
void ConstructL();
// Destruction
~CClientApp();
// Issue request: retrieve IMEI
void GetIMEI();
// Cancel request
void DoCancel();
// Service completed request
void RunL();
private:
CTelephony* iTelephony; // telephony object we own
CTelephony::TPhoneIdV1 iV1;
CTelephony::TPhoneIdV1Pckg* iPkg;
};
/* Define the client class */
void CClientApp::ConstructL()
{
iPkg = new (ELeave) CTelephony::TPhoneIdV1Pckg(iV1);
iTelephony = CTelephony::NewL();
CActiveScheduler::Add(this);
}
CClientApp::~CClientApp()
{
Cancel(); // if any request outstanding, calls DoCancel() to cleanup
delete iTelephony;
delete iPkg;
}
void CClientApp::GetIMEI()
{
iTelephony->GetPhoneId(iStatus,*iPkg );
SetActive();
CActiveScheduler::Start();
}
void CClientApp::RunL()
{
TBuf<50> retrievedIMEI;
if ( (iStatus == KErrNone) )
{
retrievedIMEI = (*iPkg)().iSerialNumber;
}
CActiveScheduler::Stop();
}
void CClientApp::DoCancel()
{
Cancel();
}

