J2ME程序,如何应对来电及短信?
当J2ME程序正在运行时,如何处理来电及短信?
------解决方案--------------------处理来电可以使用MIDlet中的startApp和pauseApp方法
或者是Canvas类的showNotify和hideNotify
来短信就没办法处理了。
------解决方案--------------------恩,这也有些类似代码:
http://java2000-net.javaeye.com/blog/242017
------解决方案--------------------处理来电可以使用MIDlet中的startApp和pauseApp方法
或者是Canvas类的showNotify和hideNotify
来短信就没办法处理了。
来短信就用Canvas类的showNotify和hideNotify
------解决方案--------------------手机的中断事件一般就是来电话、短信或是按手机上的红键,理论上来说这些事件一但产生手机便会调用中断处理。但实际上每个不同产商的手机都会有些许不同的地方。
1) 一般来说手机中断时会调midlet的pauseApp()的,然后回来会调startApp(),这样就可以在这两个函数中进行中断的处理。
2) 但有些手机其实不会去调用pauseApp(),而是在中断时调用Canvas的hideNotify(),在中断返回时(当然包括启动时)会调用Canvas的showNotify(),中断处理便可以放在这两个函数中。
3) 当然还有一些手机更牛,上面的两种情况都不调用,这时就可使用公司称为“软中断”的东西了。所谓的软中断,其实就是在程序中判断程序一次循环的间隔时间,如超过某设定值(一般都是3秒)就调用中断处理函数。例如:
if (System.currentTimeMillis() - s_previousTime > cDef.k_virtual_interrupt_time)
{
hideNotify();
showNotify();
}
s_previousTime = System.currentTimeMillis();
4) 冒似还有一些更神奇的手机,中断调用的顺序是乱来的。有可能先调showNotify反回调hideNotify,而且有可能还不只一次。遇到这些手机,大家可以在真机上测试,把每个中断处理函数的调用次数顺序打印出来分析。
------解决方案--------------------我总结的一些,希望对你有用。我们一般都是这样做的。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------像三星的D600\D608和D508都是用软中断的。。。。
其他的忘了。。。
------解决方案--------------------这些类似的问题,这边能给解决:www.ldci.com.cn
------解决方案--------------------
------解决方案--------------------不能一日被蛇咬,十年怕井绳呀,一杆子打倒一片,你这哥们真是的!
我周三去乐成了解了下,还顺便听了场讲座,给我的感觉就三个字:负责任,不过我觉得能学好,什么都不能依靠,还要靠自己学,哥们以前在学校那简直啦,就是各种玩,哎,现在后悔呀!
------解决方案--------------------有些手机还要手动调用showNotify(),hideNotify(),如E680
------解决方案--------------------E680有时候要在start()
里调用showNotify();
------解决方案--------------------showNotify(),hideNotify(),用什么用的。