最近做了一个J2ME的定位软件,用到的3个第三方包。
1.KXML2 用于xml的解析
2.LWUIT 用于界面的生成
3. j4me用于连接远程的数据
但是在NOKIA 6300上程序跑到
手机就会抛出 java/lang/InterruptException的错误,并且强行 终止程序
经过一段时间的调试和阅读源代码发现
j4me 架包中的一个文件 org.j4me.bluetoothgps.BluetoothGPS
中唤醒sleep中的线程的方法是使用
或者
这就是可能造成上述错误的原因,
于是把这些方法改成
这样就能在NOKIA上跑通并不会出现错误
为什么会这样子呢?
interrupt() 方法是把sleep中的线程打断,并且抛出一个InterruptException的异常,可能是NOKIA 6300JVM实现的问题导致程序崩溃了。