Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автозапуск мидлета по SMS на siemens x65, желтая звезда вместо автозапуска 
:(
    Опции темы
AlexKl
Дата 21.10.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 21.10.2006

Репутация: нет
Всего: нет



Здравствуйте, все! 

Помогите решить проблему.

Есть девайс, отсылающий бинарные SMS на порт 16100. Есть статически зарегистрированный в AMS (Push Registry) мидлет.
Устанвливаю мидлет на C65 или CX65. При запущенном мидлете SMS принимаются. Если приложение не запущено, то в момент прихода SMS загорается желтая звезда (слева над экранной  клавишей) и все. Если нажать клавишу - приложение стартует, SMS обрабатывает.
Подскажите, плиз, почему нет автозапуска?

PS: мидлет подписан. Пробовал на эмуляторе S75 примерно тоже, только вместо звезды пиктограмка письма. На эмуляторах SonyEricsson и стандартном (версии 2.5) автозапуск работает.
PM MAIL   Вверх
javastic
Дата 23.10.2006, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



Как мидлет выходит после первого старта? Что-то есть в методе destroyApp() ??
и было бы неплохо если бы был преведён кусок кода создания пуша.

p.s. вполне возможно что это специфика телефона, а возможно что не хватает привелегий.
В этом телефоне есть что-то типа Разрешить за пуск: только один раз, разрешить, запретить?



--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
Dancer
Дата 23.10.2006, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: 33
Всего: 37



javastic, от того что ты говоришь, это сильно не зависит. Так как поведение приложений по Alarm,MIDlet-Push делается производителями по разному. Как правило приложение самостоятельно не запускается а будет задаваться вопрос "запустить или нет" и ждать ответа от пользователя. Многие производители включают ещё такие фишки в свой код телефона, что можно определёнными битами корректировать то или иное поведение, здесь уже нужно точно знать что это за биты, как их менять и т.д. 
Но это уже всё специфично для всех производителей.


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
AlexKl
Дата 23.10.2006, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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 в этих версиях телефонов, 
НО честно говоря слабо в это верю. 
Видимо действительно есть внутренние настройки производителя. 
Как бы их найти? Пропатчить телефон в моем случае - не применимо.
PM MAIL   Вверх
Dancer
Дата 24.10.2006, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: 33
Всего: 37



Как вариант - задай на сайте Benq вопрос, в каких версиях прошивки можно проверить корректность работы данной фичи. Далее на какой-нить форум, где обладатели Simens-ов тусуются, попросить их проверить на своих аппаратах твой мидлет (урезанный или полный, тебе решать), на корректность работы (той что ты ожидаешь). Если же производитель заявляет, что это глюк AMS, и они об этом знают, то пусть назовут новую версию прошивки, в которой это уже работает, или линейку аппаратов, начиная с которой это уже будет работать так как заявлено.  Ну или пусть производитель оттестирует твой мидлет. (если всё корректно опишешь на официальном сайте)
По поводу, как ругаться с производителями - это лучше к javastic, он, если мне память не изменяет, с СониЁриками ругался smile


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
Vladimir35
Дата 27.10.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 1.8.2006

Репутация: 3
Всего: 3



Кажется у Сименсов такое поведение задано по дефолту. То есть при получение смс на определенный порт, оно сохраняется как обычно. А при попытке его просмотреть вызывается ассоциированная программа.

Это сообщение отредактировал(а) Vladimir35 - 27.10.2006, 15:10
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.