在索尼爱立信JP7平台上自动启动MIDlet

文章作者 100test 发表时间 2007:03:26 18:02:00
来源 100Test.Com百考试题网


开机就能自动启动MIDlet一直是J2ME开发者的梦想,这一梦想在索尼爱立信的JP7平台上实现了。不过需要注意的是早期的几款机型不支持,比如K790等。具体请参考索尼爱立信的手册。

开机自启动功能是通过Push注册来完成的,因此可以使用两种方式来注册。第一种通过在jad文件注明PUSH注册的方式即可,如下。

//MIDlet-Push-: , ,
MIDlet-Push-1: autostart://:, AutoStartStatic, *

请注意URL的写法是autostart://:

如果想动态注册,可以通过下面的方法。

//Registers the pushRegistry
public void Register(){
// List of registered push connections.
String connections[].
// Check to see if the connection has been registered.
// This is a dynamic connection allocated on first
// time execution of this MIDlet.
connections = PushRegistry.listConnections(false).
if (connections.length == 0) {
try {
//Register so the MIDlet will wake up when phone is started.
PushRegistry.registerConnection("autostart://:", "AutoStartDyn", "*").
sDisplayString = "MIDlet is registered".
} catch (Exception ex) {
System.out.println("Exception: " ex).
sDisplayString = "Fail: " ex.
}
} else {
sDisplayString = "Already registered".
}
displayForm.0deleteAll().
displayForm.append(sDisplayString).
}

//Unregisters the pushRegistry
public void Unregister(){
if (PushRegistry.unregisterConnection("autostart://:")){
System.out.println("The pushRegistry is unregistered").
sDisplayString = "MIDlet is unregistered.".
}else{
System.out.println("There is no pushRegistry to unregister").
sDisplayString = "No MIDlet to unregister or failed to unregister".
}
displayForm.0deleteAll().
displayForm.append(sDisplayString).
}

由于手头没有SonyEricsson JP7平台的手机,因此没有办法测试开机自动启动功能。有条件的可以自己测试一下。



相关文章


KVM的执行引擎--栈和帧、指令集
在索尼爱立信JP7平台上自动启动MIDlet
使用JSR-238更快地全球化您的应用程序
(JAX-WS)inJavaEE5快速上手
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛