我设计了一个具有推送注册表功能的 j2me 应用程序。我几乎没有错误“冲突的应用程序,显示项目?” 在启动应用程序时。
我所做的只是在 Project->Properties->Pushregistry 中添加了一个条目[MIDlet-Push-1: sms://:5051,pushregistry.SendApprooval,*]
我的 JAD 和清单文件正常并显示这些条目,但是每当我进行此更改时,应用程序都不会启动并显示我上面提到的错误,但是当我删除此步骤(条目)时它工作正常,我的意思是应用程序运行。
我的应用程序代码
public void startApp() {
String[] connections;
if (smsconn == null) {
connections = PushRegistry.listConnections(true);
if (connections == null && connections.length == 0) {
destroyApp(false);
notifyDestroyed();
}
} else {
try {
smsconn = (MessageConnection) Connector.open("sms://:" + "5051");
msg = smsconn.receive();
// If it's a text message, add it to the alert
if (msg != null && smsconn instanceof TextMessage) {
alert.setTitle("From: " + msg.getAddress());
alert.setString(((TextMessage) msg).getPayloadText());
display.setCurrent(alert);
}
} catch (Exception e) {
System.out.println("IO Exception!");
}
}
}
其余代码只是字符串和警报。
我的 JAD 文件
MIDlet-1: Midlet,,pushregistry.SendApprooval
MIDlet-Jar-Size: 2250
MIDlet-Jar-URL: pushRegistry.jar
MIDlet-Name: pushRegistry
MIDlet-Permissions: javax.wireless.messaging.sms.send, javax.wireless.messaging.sms.receive, javax.microedition.io.PushRegistry
MIDlet-Push-1: sms://:5051,pushregistry.SendApprooval,*
MIDlet-Vendor: TelVas
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
清单文件
MIDlet-1: Midlet,,pushregistry.SendApprooval
MIDlet-Permissions: javax.wireless.messaging.sms.send, javax.wireless.messaging.sms.receive, javax.microedition.io.PushRegistry
MIDlet-Push-1: sms://:5051,pushregistry.SendApprooval,*
MIDlet-Vendor: TelVas
MIDlet-Name: pushRegistry
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
原因是什么?我的意思是,如果只是名称问题,那么即使我删除了 pushregistry 条目,它也不应该运行。