Уведомление системы J2ME / воспроизведение звука, когда телефон заблокирован

Доброго времени суток всем,

У меня есть телефон на базе java (samsung star 2 5260), и вот уже три недели я пытаюсь придумать решение для получения уведомлений о полученных письмах. Телефон настраивает периодическую проверку минимум на 30 минут, но мне нужна гораздо более частая проверка (максимум пять минут).

Я пробовал бесчисленное количество решений, и я придумал самое близкое из них - настраиваемый мидлет mujmail, который поддерживает мой почтовый ящик gmail через imap, развернутый благодаря редактору netbeans. Дело в том, что я изменил опрос mujmail для работы в фоновом режиме, но звук не воспроизводится, когда телефон заблокирован, поэтому даже если мидлет проверяет и получает электронные письма, он не может уведомить меня. Приложение сворачивается и продолжает работать, но не может сказать мне, что пришла новая почта.

Я даже пытался отправить sms, когда есть новое письмо, но не смог подписать приложение (похоже, ktoolbar выдает 1024-битные сертификаты, а thawte, verisign и т. Д. Будут выдавать только 2048-битные сертификаты с нескольких лет.) И поэтому он всегда будет запрашивать авторизацию, что делает этот подход бесполезным.

Так что я отчаянно пытаюсь найти альтернативу.

И я надеялся, что мы сможем каким-то образом имитировать «системное предупреждение», которое телефон использует, когда он заблокирован, и вы получаете sms (звуковой сигнал). Это функциональность j2me или она специфична для samsung sdk? Кто-нибудь знает, как получить доступ к этой функции из мидлета? Есть ли способ создать мидлет в доверенном стороннем домене без его подписи?

Я знаю, что j2me - старая тема, но, надеюсь, кто-то здесь все еще осведомлен об этом.

Заранее спасибо.


person roamcel    schedule 19.10.2014    source источник


Ответы (1)


Похоже, вы слишком многого ожидаете от JavaME.

Если вы можете делать то, что хотите, можете быть уверены, что для этого потребуется подпись. Обычно вы должны подписать свой мидлет с помощью сертификата, который поддерживается вашим телефоном. Большинство разработчиков выбирают Thawte или Verisign, потому что их сертификаты поддерживаются на большинстве устройств.

Если вы заинтересованы только в том, чтобы это работало на вашем собственном телефоне, возможно, вы можете найти гораздо более дешевого поставщика, например, Самсунг. Но признаю, что не знаю.

В любом случае, если вы хотите делать что-то подобное с помощью JavaME, обойтись без подписи.

(Что ж ... есть крошечный тонкий шанс, что ваш телефон позволяет вам устанавливать разрешения, например «Никогда не спрашивать» в свойствах мидлета на телефоне после установки, но только крошечный тонкий шанс).

Даже после подписания мидлета он все равно не сможет вывести телефон из спящего режима. JavaME - это песочница. Если пользователь переводит телефон в спящий режим, JavaME не может его разбудить. (По крайней мере, без специальных API, которые, как мне кажется, не существуют).

Если бы это был я, я бы исследовал такой подход:

Реализуйте таймер PushRegistry для запуска мидлета каждые 5 минут. Теоретически это должно запускать мидлет, несмотря на то, что телефон спит. (Но не если он выключен). Затем попробуйте включить здесь звуковой сигнал будильника. Если не можете, то я бы отправил SMS самому себе.

person mr_lou    schedule 20.10.2014
comment
PushRegistry. Похоже, хорошая идея, спасибо за внимание. Я проверю это. - person roamcel; 20.10.2014
comment
Даже с глупым мидлетом, который воспроизводит звук только каждые 30 секунд, pushregistry не может выполнить задачу, пока телефон заблокирован :(. Не уверен, что делать дальше. - person roamcel; 26.10.2014
comment
Я подозреваю, что это зависит от устройства. Другой телефон, вероятно, даст другой результат, то есть он будет воспроизводить звук, несмотря на то, что устройство заблокировано. Но поскольку он не будет работать на вашем устройстве Samsung, я думаю, вам придется либо переключиться на другую технологию, либо, если вы хотите придерживаться JavaME, вам нужно подписать свой мидлет, а затем использовать отправку SMS. вместо этого подход к себе. - person mr_lou; 26.10.2014