需要为支持 JavaME 的每个移动设备制造商进行跨设备工作 -
特别是:当应用程序打开时,它会重定向到移动设备默认浏览器中的(有线)链接。
在非移动Java应用程序中找到了如何执行此操作,但未找到 JavaME 的示例。
我正在使用JavaME,Sun Java Wireless Tool Kit 2.5.2和eclipseME。
修改: 我正在尝试:
try {
platformRequest("http://www.stackoverflow.com");
destroyApp(true);
notifyDestroyed();
} catch (ConnectionNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但不确定它是否适用于所有平台。此外,为什么必须销毁应用程序?
答案 0 :(得分:2)
嗯,这是怎么回事,请阅读代码的评论:
// In startApp()
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();
}
此外,如果您使用的是Linux,则必须为模拟器设置默认浏览器。转到yourPath/Java/lib/system.config
,最后添加以下行:
# Associate the Mozilla browser with platformRequest() - Linux
com.sun.midp.midlet.platformRequestCommand: /usr/bin/firefox
(当然可以是其他浏览器)
现在在您的模拟器中运行它。或者创建 .jad 和 .jar 在您的实体手机中运行它。