如何实现手机中应用程序的开机自启动,附源代码
根据以往Symbian设计的经验,Recognizer将被用来识别与文件绑定的MIME类型。这是用来处理特殊类型数据的步骤之一。相关知识可以参考Nokia那篇著名的《guide for application developer on document handler》文档,在symbian sdk安装目录下面的Series60Doc目录下面可以找到他。Recognizer也能够用来实现应用程序的开机自启动,当然这不是Recognizer的本意。但是,很危险的是,如果recognizer出了问题,手机将无法正常启动,而且你必须要重新到当地的Nokia客服部门重新刷机。
下面的代码是用于EZBoot应用的,这些代码本身有很好的说明,所以我不再详细解释。
注意,出现在头文件和mmp文件中的0x101Fxxxx这个值需要用你自己项目的UID替换。
头文件源码:
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">//////////////////////////////////////////////////////////////////////////////
//
// EZ-Boot
//
//////////////////////////////////////////////////////////////////////////////
// Boot & Recognizer Module
// by NewLC (http://www.newlc.com)
//////////////////////////////////////////////////////////////////////////////
// File : ezrecog.h
// Compatibility: Symbian OS v6.1
// History:
// 2003.07.26: EBS : Creation
// 2003.08.12: EBS : Integration in EZBoot
// 2003.09.01: EBS : Add boot file recognition
// 2003.10.28: EBS : Cleanup and comment
//////////////////////////////////////////////////////////////////////////////
#include <apmrec.h> // CApaDataREcognizerType
#define KUidRecog 0x1xxxxxxx // Use your own value here !!!
class CRecog : public CApaDataRecognizerType
{
public:
CRecog();
TUint PreferredBufSize();
TDataType SupportedDataTypeL(TInt aIndex) const;
static void BootUp();
static TInt BootUpKick(TAny *aParam);
static void BootUpKickL();
private:
void DoRecognizeL(const TDesC& aName, const TDesC8& aBuffer);
TBool HeaderRecognized(const TDesC8& aBuf);
TBool NameRecognized(const TDesC& aName);
};
页:
[1]