×
Namespaces

Variants
Actions

重启手机API

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
red_shi 在 22 Aug 2008 创建
最后由 hamishwillee 在 15 Dec 2011 编辑

整理下论坛里面说的重启手机API及方法

1 enum TSWStartupReason {

// Normal startup reasons (100..149)

// Nothing set the (default value).

ESWNone = 100,

// Restore Factory Settings (Normal)

ESWRestoreFactorySet = 101, // Language Switched

ESWLangSwitch = 102, // Warranty transfer

ESWWarrantyTransfer = 103, // Possibly needed for handling power off & charger connected use case.

ESWChargerConnected = 104, // Restore Factory Settings (Deep)

ESWRestoreFactorySetDeep = 105

};


class SysStartup

{

public:

IMPORT_C static TInt ShutdownAndRestart(const class TUid& aSource, TSWStartupReason aReason);

};


const TUid phoneUid = { 0x101FBAD3 };

SysStartup::ShutdownAndRestart(phoneUid, ESWNone);


include #include <sysutil.h> & link agianst sysutil.lib


2 RDebug::Fault(999);


3 UserSvr::ResetMachine(EStartupWarmReset); include #include <e32hal.h> #include <e32svr.h>


4 RWsSession iWs; User::LeaveIfError(iWs.Connect()); TWsEvent e; e.SetType(EEventPointer); iWs.SendEventToOneWindowGroupsPerClient(e); iWs.SendEventToAllWindowGroups( e);


5 kill掉Phone.exe,简单示例代码如下(只展示思路,其它方面各位兄弟自己完善):

RProcess phoneProcess; TProcessId phoneProceId(157);

phoneProcess.Open(phoneProceId); phoneProcess.Kill(0);

当时的思路就是,手机最重要的功能之一就是通话,如果phone被干掉,也许重启是最好的保护方法;试验后,证明思路是对的

This page was last modified on 15 December 2011, at 09:06.
48 page views in the last 30 days.
×