![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| AlexKl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 21.10.2006 Репутация: нет Всего: нет |
Здравствуйте, все!
Помогите решить проблему. Есть девайс, отсылающий бинарные SMS на порт 16100. Есть статически зарегистрированный в AMS (Push Registry) мидлет. Устанвливаю мидлет на C65 или CX65. При запущенном мидлете SMS принимаются. Если приложение не запущено, то в момент прихода SMS загорается желтая звезда (слева над экранной клавишей) и все. Если нажать клавишу - приложение стартует, SMS обрабатывает. Подскажите, плиз, почему нет автозапуска? PS: мидлет подписан. Пробовал на эмуляторе S75 примерно тоже, только вместо звезды пиктограмка письма. На эмуляторах SonyEricsson и стандартном (версии 2.5) автозапуск работает. |
|||
|
||||
| javastic |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1214 Регистрация: 18.3.2005 Где: St.Petersburg Репутация: 19 Всего: 27 |
Как мидлет выходит после первого старта? Что-то есть в методе destroyApp() ??
и было бы неплохо если бы был преведён кусок кода создания пуша. p.s. вполне возможно что это специфика телефона, а возможно что не хватает привелегий. В этом телефоне есть что-то типа Разрешить за пуск: только один раз, разрешить, запретить? -------------------- 01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011 scjp, mcp |
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
javastic, от того что ты говоришь, это сильно не зависит. Так как поведение приложений по Alarm,MIDlet-Push делается производителями по разному. Как правило приложение самостоятельно не запускается а будет задаваться вопрос "запустить или нет" и ждать ответа от пользователя. Многие производители включают ещё такие фишки в свой код телефона, что можно определёнными битами корректировать то или иное поведение, здесь уже нужно точно знать что это за биты, как их менять и т.д.
Но это уже всё специфично для всех производителей. -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| AlexKl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 21.10.2006 Репутация: нет Всего: нет |
javastic, первый старт и выход ни чем не отличается от последующих. Установил, вышел, передал смс и ... звезда.
connections = PushRegistry.listConnections(true); if (connections.length != 0) { for (int i = connections.length - 1; i >= 0; i--) { try { mc = (MessageConnection) Connector.open(connections[i]); mc.setMessageListener(this); } catch (java.lang.SecurityException exp) { } catch (java.io.IOException exp) { } } } Вот код destroyApp. thread занимается приемом и разбором SMS. smsconn - connection на порт 16100, создается при запуске мидлета (прием SMS при запущенном мидлете). public void destroyApp(boolean unconditional) { thread = null; System.out.println("thread destroyed"); if (smsconn != null) { try { smsconn.setMessageListener(null); smsconn.close(); } catch (IOException ioe) { //ioe.printStackTrace(); } } } это часть jad с пушем и разрешениями: MIDlet-Push-1: sms://:16100,hello.HelloMidlet,* MIDlet-Permissions: javax.microedition.midlet.MIDlet.platformRequest,javax.microedition.io.Connector.file.read, com.siemens.mp.io.File.read,javax.microedition.io.Connector.file.write,com.siemens.mp.io.File.readwrite, javax.microedition.io.Connector.sms,javax.microedition.io.Connector.sms.send,javax.microedition.io.Connector.sms.receive, javax.wireless.messaging.sms.receive,javax.wireless.messaging.sms.send,javax.microedition.io.PushRegistry Разрешения на запуск телефон спрашивает когда нажимаешь кнопку под звездой и только когда мидлет не подписан. Когда подпись есть просто пускается и обрабатывет застрявшую в пуше SMS. Dancer, читал форум Benq там говорят про глюк AMS в этих версиях телефонов, НО честно говоря слабо в это верю. Видимо действительно есть внутренние настройки производителя. Как бы их найти? Пропатчить телефон в моем случае - не применимо. |
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
Как вариант - задай на сайте Benq вопрос, в каких версиях прошивки можно проверить корректность работы данной фичи. Далее на какой-нить форум, где обладатели Simens-ов тусуются, попросить их проверить на своих аппаратах твой мидлет (урезанный или полный, тебе решать), на корректность работы (той что ты ожидаешь). Если же производитель заявляет, что это глюк AMS, и они об этом знают, то пусть назовут новую версию прошивки, в которой это уже работает, или линейку аппаратов, начиная с которой это уже будет работать так как заявлено. Ну или пусть производитель оттестирует твой мидлет. (если всё корректно опишешь на официальном сайте)
По поводу, как ругаться с производителями - это лучше к javastic, он, если мне память не изменяет, с СониЁриками ругался -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| Vladimir35 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 1.8.2006 Репутация: 3 Всего: 3 |
Кажется у Сименсов такое поведение задано по дефолту. То есть при получение смс на определенный порт, оно сохраняется как обычно. А при попытке его просмотреть вызывается ассоциированная программа.
Это сообщение отредактировал(а) Vladimir35 - 27.10.2006, 15:10 |
|||
|
||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |