注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

尐鬼じ☆ve伱

和你在一起的日子

 
 
 

日志

 
 

Symbian 如何取得IMEI,型号  

2012-04-12 17:36:55|  分类: symbian |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

--------------------------------H---------------------------------------------

#include <e32base.h> // For CActive, link against: euser.lib
#include <e32std.h>  // For RTimer, link against: euser.lib
#include <Etel3rdParty.h>

class MPhoneInfoReaderObserver
 {
public:
 enum TPhoneInfoReadereEvent
   {
   ESuccess,/**成功*/
   EFail,/**失败*/
   };
public:
 virtual void GetPhoneInfoReaderComplete(TPhoneInfoReadereEvent aEvent) = 0;
 };

class CPhoneInfoReader : public CActive
 {
public:
 ~CPhoneInfoReader();
 static CPhoneInfoReader* NewL(MPhoneInfoReaderObserver& aObserver );
 static CPhoneInfoReader* NewLC(MPhoneInfoReaderObserver& aObserver );
public:
 void Start();
 TDes8& GetImsi();
 TDes8& GetPhoneModels();
private:
 CPhoneInfoReader(MPhoneInfoReaderObserver& aObserver );
 void ConstructL();

private:
 void RunL();
 void DoCancel();
 TInt RunError(TInt aError);
private:
  CTelephony* iTelephony;
  CTelephony::TPhoneIdV1  iIdV1;
  CTelephony::TPhoneIdV1Pckg iIdV1Pkg;
 
  MPhoneInfoReaderObserver& iObserver;
  TBuf8<50> imsi;
  TBuf8<512> PhoneModels;
 };

--------------------------------------------cpp-------------------------------------------

#include "PhoneInfoReader.h"

#define DELETE(p) {if(p) delete (p); (p) = NULL;}

CPhoneInfoReader::CPhoneInfoReader(MPhoneInfoReaderObserver& aObserver ) :
 CActive(EPriorityStandard),iIdV1Pkg(iIdV1),iObserver(aObserver) // Standard priority
 {
 }

CPhoneInfoReader* CPhoneInfoReader::NewLC(MPhoneInfoReaderObserver& aObserver )
 {
 CPhoneInfoReader* self = new (ELeave) CPhoneInfoReader(aObserver);
 CleanupStack::PushL(self);
 self->ConstructL();
 return self;
 }

CPhoneInfoReader* CPhoneInfoReader::NewL(MPhoneInfoReaderObserver& aObserver )
 {
 CPhoneInfoReader* self = CPhoneInfoReader::NewLC(aObserver);
 CleanupStack::Pop(); // self;
 return self;
 }

void CPhoneInfoReader::ConstructL()
 {
 CActiveScheduler::Add(this); // Add to scheduler
 }

void CPhoneInfoReader::Start()
 {
 DELETE(iTelephony);
 iTelephony = CTelephony::NewL();
 iTelephony->GetPhoneId(iStatus,iIdV1Pkg);
 SetActive();  
 }

TDes8& CPhoneInfoReader::GetImsi()
 {
 return imsi;
 }
TDes8& CPhoneInfoReader::GetPhoneModels()
 {
 return PhoneModels;
 }

CPhoneInfoReader::~CPhoneInfoReader()
 {
 Cancel(); // Cancel any request, if outstanding
 DELETE(iTelephony);
 }

void CPhoneInfoReader::DoCancel()
 {
    iTelephony->CancelAsync(CTelephony::EGetPhoneIdCancel);
 }
void CPhoneInfoReader::RunL()
 {
 if(iStatus.Int() < 0)
  {
  iObserver.GetPhoneInfoReaderComplete(MPhoneInfoReaderObserver::EFail);
  }
 else
  {
  imsi.Copy(iIdV1.iSerialNumber);
  PhoneModels.Copy(iIdV1.iModel);
  iObserver.GetPhoneInfoReaderComplete(MPhoneInfoReaderObserver::ESuccess);
  }
 }

TInt CPhoneInfoReader::RunError(TInt aError)
 {
 return aError;
 }

  评论这张
 
阅读(215)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017