我的个人观点,不知道对不对(http://community.csdn.net/Expert/topic/4477/4477765.xml?temp=.6836969):
你所说的KEY_SOFTKEY1,KEY_SOFTKEY2,KEY_SOFTKEY3这几个定义,应该是Nokia UI API中的FullCanvas定义的吧?
而MIDP2.0的Canvas规范并没有定义这几个。
请看:
《Series 60 Developer Platform 2.0: Specification v1.0》,
Page 77:
Left soft key, -6, "Left soft key" or left soft-key symbol
Right soft key, -7, "Right soft key" or right soft-key symbol
Middle soft key, -5, "Select", "Middle soft key" or similar symbol
所以我们的Nokia、Samsung和SonyEricsson专有程序中会这么定义:
/**
* Key code for the FIRE game action.
*/
public static final int KEY_FIRE = -5;
/**
* Key code for left soft key
*/
public static final int KEY_SOFT_LEFT = -6;
/**
* Key code for right soft key
*/
public static final int KEY_SOFT_RIGHT = -7;
在摩托罗拉专有的程序中则这么定义:
/**
* Key code for the FIRE game action.
*/
public static final int KEY_FIRE = 20;
/**
* Key code for left soft key
*/
public static final int KEY_SOFT_LEFT = 21;
/**
* Key code for right soft key
*/
public static final int KEY_SOFT_RIGHT = 22;
在西门子程序中则这么定义:
/**
* Key code for the FIRE game action.
*/
public static final int KEY_FIRE = -26;
/**
* Key code for left soft key
*/
public static final int KEY_SOFT_LEFT = -1;
/**
* Key code for right soft key
*/
public static final int KEY_SOFT_RIGHT = -4;
Softkeys并没有被包含在MIDP2.0的规范中,所以,
如果你非要在手机上使用这几个Softkeys,那么请注意手机的差异,你可能需要针对不同款手机分别定义了。
以下对拨打电话的手机按键的定义是在nokia、三星和Motorola(v80/220/300/400/500/600, e398, c650):
以下内容为程序代码:
/**
* Key code for PHONE_ON key (green button)
*/
public static final int KEY_PHONE_ON = -10;
以下这种定义是在西门子:
以下内容为程序代码:
/**
* Key code for PHONE_ON key (green button)
*/
public static final int KEY_PHONE_ON = -11;
以下这种定义是在Motorola platform phones iDEN, T280, T72x, v6x
以下内容为程序代码:
/**
* Key code for PHONE_ON key (green button)
*/
public static final int KEY_PHONE_ON = -14;