В моем приложении j2me я получаю исключение выше (java.lang.securityException not allowed to open connection
). Поток моей функции похож на первый открытый ящик для получения сообщения в конструкторе, а затем для отправки SMS-сообщений, открытых порты в теле метода, на моем телефоне MIDlet запрашивает разрешение на отправку SMS-сообщений, если я нажимаю NO, он показывает исключение безопасности, которое Отправка SMS не отрицается, это нормально. Но когда он находится в одном мидлете и выполняет это действие во второй раз, он дает исключение во время открытия принимающего порта в конструкторе как java.lang.securityException not allowed to open connection
. В это время я еще не видел разрешения на отправку SMS еще раз. Мой код для отправки конструктора и СМС ниже:java.lang.securityException не разрешено открывать соединение j2me
//Constructor
public ServerContactRetriever(MainMidlet parent, Language lang) {
try {
this.language = lang;
this.parent = parent;
recvCon = (MessageConnection) Connector.open(RECV_URL); //open receiving port
recvCon.setMessageListener(this);
} catch (Exception ex) {
parent.dispErrorMessage(language.access_denied_disp);
parent.alertShow(language.access_denied_alert);
}
}
//METHOD
//Request restore contacts from server
private void sendRestoreRequest() {
try {
MessageConnection msgCon = (MessageConnection) Connector.open(SEND_URL);
TextMessage msg = (TextMessage) msgCon.newMessage(MessageConnection.TEXT_MESSAGE);
msg.setAddress(SEND_URL);
msg.setPayloadText("set payload here");
msgCon.send(msg);
msgCon.close();
} catch (Exception ex) {
try {
parent.alertShow(language.sms_error_alert);
parent.dispErrorMessage(language.sms_error_disp);
recvCon.close();
} catch (Exception ex1) {
}
}
}
Я использую WTK с MIDP 2.0. Проверка устройств Nokia. Сначала я думаю, что может возникнуть проблема с закрытием порта MessageConnection
, но я тоже попробовал, и он показывает ту же ошибку. В то время как о отправке SMS и я выбираю NO, он отлично работает, если я просто попробую отправить SMS и выбрать NO столько раз, сколько захочу, и он все равно останется на мидлете без каких-либо исключений. Спасибо
Ну, это было из-за уже открытого подключения внутри приложения, и при правильном обращении он работал нормально. Но то, о чем вы говорите, не имеет ничего общего с этой вещью! – Saqib
@Saqib, можете ли вы рассказать мне, как вы справились с этим, у меня такое же исключение в приложении для обмена сообщениями. –
Я должен был поймать оба исключения в явном виде, я не знаю, почему это не сработало с Generic EXCEPTION, но мне пришлось идти на обработку отдельных исключений, например SecurityException для SMS и IOException для портов сообщений. Надеюсь, ты это выяснишь! – Saqib