程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 在索尼愛立信JP7平台上自動啟動MIDlet

在索尼愛立信JP7平台上自動啟動MIDlet

編輯:關於JAVA
開機就能自動啟動MIDlet一直是J2ME開發者的夢想,這一夢想在索尼愛立信的JP7平台上實現了。不過需要注意的是早期的幾款機型不支持,比如K790等。具體請參考索尼愛立信的手冊。

開機自啟動功能是通過Push注冊來完成的,因此可以使用兩種方式來注冊。第一種通過在jad文件注明PUSH注冊的方式即可,如下。

//MIDlet-Push-<n>: <ConnectionURL>, <MIDletClassName>, <AllowedSender>
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.deleteAll();
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.deleteAll();
displayForm.append(sDisplayString);
}

由於手頭沒有SonyEricsson JP7平台的手機,因此沒有辦法測試開機自動啟動功能。有條件的可以自己測試一下。

原文地址:http://developer.sonyericsson.com/site/global/techsupport/
tipstrickscode/java/p_autostarting_jp7midlets.jsp

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved