Identifying the type of phone your application is running on is sometimes useful for optimised application (or to handle compatibility across different OS platforms). Symbian OS has the capabilities to identify a mobile device:
One of them is at code execution. A Call to the HAL::Get() function will return a code identifying your device hardware :
#include <hal.h> // also link to hal.lib
TInt mUid = 0;
HAL::Get(HALData::EMachineUid, mUid);
For Nokia Series60 devices the mUID will be unique for each device type:
NS60 Mobiles | mUid value | |
Nokia 3230 | 0x10200f97 | |
Nokia 3250 | 0x200005F8 | |
Nokia 3650 | 0x101f466a | |
Nokia 3660 | 0x101f466a | |
Nokia 6260 | 0x101fb3f4 | |
Nokia 6600 | 0x101fb3dd | |
Nokia 6620 | 0x101f3ee3 | |
Nokia 6630 | 0x101fbb55 | |
Nokia 6670 | 0x101fb3f3 | |
Nokia 6680 | 0x10200F99 | |
Nokia 6681 | 0x10200F9C | |
Nokia 6682 | 0x10200F9B | |
Nokia 7610 | 0x101fb3f3 | |
Nokia 7650 | 0x101f4fc3 | |
Nokia N-Gage | 0x101f8c19 | |
Nokia N-Gage QD | 0x101FB2B1 |
Nokia E60 | 0x20001856 | |
Nokia E61 | 0x20001858 | |
Nokia E70 | 0x20001857 |
Nokia N70 | 0x10200F9A | |
Nokia N80 | 0x200005F9 | |
Nokia N90 | 0x10200F98 | |
Nokia N91 | 0x200005FC | |
Nokia N92 | 0x200005FA |
Sendo-X | 0x101FA031 | |
Siemens SX1 | 0x101F9071 | |
Samsung SGH D720 | 0x10272F38 | |
Samsung SGH D730 | 0x10272F39 | |
Panasonic X700 | 0x101FF525 |
NS80 | mUid value | |
Nokia 9210 and 9290 | 0x10005e33 | |
Nokia 9300 | 0x101f8ddb | |
Nokia 9300i | 0x1020E048 | |
Nokia 9500 | 0x101f6b26 |
UIQ Mobiles | mUid value | |
Sony Ericsson P800 | 0x101F408B | |
Sony Ericsson P900 | 0x101FB2AE | |
Sony Ericsson P910 | 0x10200AC6 | |
Motorola A9xx | 0x101f6b26 |
The identification of the mobile at installation allow to install different files on different devices. A modification of the PKG file is needed. The UIDs shown above are still valid:
;
; Files to install
;
IF MachineUID=0x101fb3dd; 6600
; install Nokia 6600 specific files
"\Symbian\6.1\Series60\Epoc32\release\thumb\urel\EZBoot6600.ini" -"!:\system\apps\EZBoot\EZBoot.ini"
ELSEIF MachineUID=0x101f466a ; 3650
; install Noka 3650 specific files
"\Symbian\6.1\Series60\Epoc32\release\thumb\urel\EZBoot3650.ini" -"!:\system\apps\EZBoot\EZBoot.ini"
ELSE
; install file for other devices
"\Symbian\6.1\Series60\Epoc32\release\thumb\urel\EZBoot.ini" -"!:\system\apps\EZBoot\EZBoot.ini"
ENDIF
This installs a EZBoot.ini file that is tailored for specific devices (here Nokia 6600 and Nokia 3650).
聯(lián)系客服