| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Отправка СМС |
| Автор: RomkaRomka 27.11.2008, 20:42 | ||
| Доброе время суток! Ситуация такая: в главной нити мидлета создается нить игры. Из нити игры по нажатии клавиши необходимо отправить СМС. На результате отправки основываются дальнейшие действия. Для этого перевожу текущую нить в режим ожидания, запускаю новую нить и в ней делаю отправку, по окончанию отправки пробуждаю нить игры. Проверил на телефонах (SE k800, SE k610, Nokia 6630, Samsung U600) - работает отлично. Проблема заключается в том, что на эмуляторе почему-то в режим ожидания переходит нить отправки сообщения (и мидлет зависает), вместо нити игры. И все бы ничего, но нашлось уже одно устройство, которое ведет себя так же как и эмулятор (SE k750). И вот теперь думаю - или мой код неправильный или... даже не знаю что подумать ещё. В коде это выглядит так (код немудреный и его мало, поэтому комментарии не делал):
С уважением, Роман. |
| Автор: eugine_s 28.11.2008, 16:32 | ||
| так вроде бы все нормально, тем более что на большинстве устройств работает? Может попробовать обойтись без засыпания? То есть твой основной поток игры (т.е. не сам поток (thread), а просто состояние игры) в состояние _ожидаю_отправки_смс_, а когда смс-ка будет отправлена sms-sender дернет метод, который скажет смс-ка отправлена или нет (и это метод переведет игру в нужно состояние)? Что-нибудь типа вот такого:
Так же это можно реализовать через интерфейс (какой-нибудь SmsListener) |
| Автор: RomkaRomka 28.11.2008, 17:24 |
| Спасибо за участие! Про такой вариант я думал, но хотелось сделать красиво Уже столько разных костыликов пришлось наставить... Сейчас думаю поставить в вызове wait таймаут секунд 10-20 (надеюсь этого хватит чтоб успеть нажать да/нет) по истечении которого просто прибивать поток отправки смс... если получится. С уважением, Роман. |
| Автор: RomkaRomka 1.12.2008, 18:52 |
| В общем сам дурак Не обратил внимания что SE k750 и эмулятор ведут себя все-таки по разному: эмулятор зависает сразу, даже не доходит до запроса подтверждения на отправку смс, а на теле зависало уже после подтверждения. Т.е. аппарат реально не мог отправить сообщение. Оказалось, на телефонах код вполне работоспособный. Была проблема с симкой (мне неясная), на другой симке все заработало (хотя с первой симкой на других аппаратах тоже работало). Так что проблема закрыта. |
| Автор: auf1r 23.1.2009, 17:21 | ||
| Хай! Вот где Ваша проблемма:
|