Kan*_*ani 4 mobile blackberry nokia java-me samsung-mobile
我在J2ME中做了一个小应用程序,它只是用目标链接打开浏览器.
然而,它适用于某些型号的手机,而其他型号则不适用.
它适用于:
Id 不起作用:
我不知道为什么它在某些手机中有效,而在其他手机中则无效.从理论上讲,它应该适用于支持J2ME(JavaME)的每部手机.
编辑:这是相关的代码.
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
boolean mustExit = false;
try {
/**
* mustExit - Boolean
*
* Some MIDP platforms are more restricted than others.
* For example, some don't support concurrent processing,
* so the MIDlet must exit before the platform can honor
* a service request.
*
* If <true> destroy the app. So the browser
* can start.
*/
mustExit = platformRequest("http://www.stackoverflow.com");
} catch (ConnectionNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(mustExit){
destroyApp(true);
notifyDestroyed();
}
//Display.getDisplay(this).setCurrent(timeAlert);
}
Run Code Online (Sandbox Code Playgroud)
你不应该像platformRequest
生命周期方法那样做startApp()
.这是一个异步操作,需要询问用户权限等.这不应该在系统线程上完成.
调用系统线程的方法应尽可能快地返回,因为线程可能负责执行其他操作,如屏幕重绘或处理用户输入. platformRequest
是阻止操作,会导致您的设备冻结.
有些设备可以比其他设备更好地处理这种情况,这就是您看到差异的原因.
开始一个新的线程去做platformRequest
,一切都应该好; 你可以在任何地方开始你的新线程.
归档时间: |
|
查看次数: |
338 次 |
最近记录: |