按照J2ME规范写了J2ME程序,可是部署到真实手机上,稀奇古怪的问题就会出来,别大惊小怪,写JAVA虚拟机的也是普通人,照样会犯错。在此列举一些,以供后来者踩着先驱者死掉的无数脑细胞前仆后继。
1、中文问题:Nokia 6681上在Alert的内容中的中文都显示为“口”,而标题则正常。其余的控件也有类似的问题,即title可中的中文正常,string或者text中的中文显示为“口”。在Nokia 6600上,JAD中不能使用中文,否则直接告诉安装失败。
2、Alert显示问题:Nokia 6600上,Display.setCurrent(Alert alert, Displayable nextDisplayable)工作不正常,可直接使用Display.setCurrent(Alert alert),然后在程序中响应alert的dismiss消息,显示下一个Displayable。6600上还有好多古怪的问题的,可以到nokia网站上去搜一下Known Issues In the Nokia 6600的这篇文档看看。
3、WMA发送短信问题:忘了在哪个手机上用一个正数端口发送不了短信了,什么反应都没有,也没有Exception。而在MOTO E680i上,不能用端口0发送短信,没有任何Exception,把send调用注释掉之后终于看到Exception了:端口只能是1到65535之间。
4、Nokia 8800上打包引起的问题参见:jar打包引起J2ME程序安装失败