プッシュ レジストリ機能を備えた 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 エントリを削除しても実行されるべきではありません。