Вопрос

Как можно было бы записывать нажатия клавиш пользователями в программе SMS composer на ОС Symbian, в частности, для Nokia N73 (или любого из устройств, поддерживаемых symbian http://en.wikipedia.org/wiki/Symbian_OS#Devices_that_have_used_the_Symbian_OS)?Я новичок в разработке symbian и пытаюсь написать приложение для анализа стилей написания тех, кто отправляет SMS.Любая информация (или толчок в правильном направлении) была бы замечательной.

Большое спасибо,

A

Это было полезно?

Решение

На самом деле, вы можете записывать нажатия клавиш, предназначенные для любого приложения в Symbian OS.RWindowGroup::CaptureKey() и RWindowGroup::CaptureLongKey() разрешите вашему исполняемому файлу захватывать ключи из любого приложения, независимо от того, находится ли ваше на переднем плане или нет.Однако в данном случае это может оказаться утомительным - эти две функции работают путем захвата определенных кодов клавиш и комбинаций модификаторов, поэтому вам пришлось бы настроить множество захватов, чтобы иметь дело со всеми комбинациями клавиш в SMS composer.

Вам также пришлось бы передать событие составителю SMS-сообщений, как только ваш исполняемый файл захватил его.Хотя номинально возможно использование RWsSession::SendEventToWindowGroup() или TApaTask::SendKey(), существуют сложности , связанные с тем , что события происходят в правильном порядке (т.е.нажатие клавиши вниз, ключевое событие, нажатие клавиши вверх) и поведение различных FEP (интерфейсных процессоров) для пользовательского ввода.

Таким образом, хотя номинально возможно сделать то, что вам требуется, как указано выше, внедрение и тестирование оказалось бы утомительным, граничащим с риском.Если все, что вы хотите сделать, это проанализировать стиль написания для сбора данных (а не в приложении продукта), возможно, вам лучше написать свой собственный SMS composer - на веб-сайте форума Nokia есть множество примеров редакторов и отправки SMS.

Другие советы

В связи с этим - существует ли API, который может обнаруживать одновременное нажатие всех клавиш, когда я нажимаю на свой телефон Symbian, разочарованный его API?;-)

Что ж, есть несколько уровней ответа на ваш вопрос.

  • Нажатия клавиш фактически фиксируются приложением message editor (редактор сообщений).Таким образом, либо он предоставляет API для передачи вам всех своих нажатий клавиш (вы можете поискать его на http://forum.nokia.com.Вы найдете API редактора сообщений, но в основном это будет связано с повторным использованием элементов управления GUI, а не с тем, что вы ищете), или вам понадобится собственное прозрачное приложение, которое остается на переднем плане и фиксирует нажатия клавиш, прежде чем отправлять их обратно в любое приложение, которое оказывается сразу за ними.К счастью (по очевидным соображениям безопасности), Symbian OS не позволит вам сделать это позже.

  • Однако вы можете настроить свое собственное приложение на чтение сообщений, когда они сохраняются в памяти телефона:когда они будут сохранены в папке Черновиков или в почтовом ящике исходящих SMS.

Обязательная бесстыдная вилка:Я бы посоветовал прочитать главу об обмене сообщениями в http://www.quickrecipesonsymbianos.com для того, чтобы понять, как пользоваться магазином сообщений Symbian

Классами , представляющими интерес в вашем случае , являются :CmsvEntry, CMsvSession, MMsvSessionObserver, CMsvOperation и CSmsClientMtm.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top