Hi All,
Here are the four methods to restart the phone Programmatically.
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);