Получение уведомлений, когда пользователь пытается отправить SMS

Мое приложение реализовано как служба (работает под services.exe). Я добавляю новую функцию, которая требует уведомления, когда пользователь отправляет SMS.

Я пытался использовать IMAPIAdviseSink, зарегистрировавшись как в IMAPISession, так и в IMsgStore, но не получаю никаких уведомлений.

Другие варианты, которые я вижу, — создать поставщика службы коротких сообщений или реализовать интерфейс IFormProviderEx, но я не уверен, как это может повлиять на функциональность SMS и взаимодействие с пользователем.

Есть ли способ, с помощью которого мое приложение может надежно получать уведомления о создании SMS-сообщений в папке «Исходящие»?

редактировать: приложение написано на родном C++. Я изучил RIL и несколько других API, но могу найти информацию только об уведомлении о входящих SMS.

Хорошо, еще немного информации: тот же код для регистрации моего IMAPIAdviseSink работает в отдельном приложении. Только уведомления в сервисе не приходят.

Есть ли способ получать уведомления в моем сервисе? Или мне нужен отдельный процесс для отслеживания SMS-событий и уведомления моего сервиса?

отметка


person Mark Cheeseborough    schedule 13.10.2008    source источник


Ответы (2)


Вы не можете использовать IMAPIAdviseSink из службы.

Вам нужно использовать его из отдельного процесса и уведомлять службу об интересующих вас событиях.

person Mark Cheeseborough    schedule 16.10.2008

edit: ой, пропустил, что это пользователи создают сообщение, а не входящее.

Вы ориентируетесь на Windows Mobile 5+?

Я думаю, что вы ищете класс MessageInterceptor в пространстве имен Microsoft.WindowsMobile.PocketOutlook.MessageInterception.

Вот ссылка на пример кода: http://www.knowdotnet.com/articles/smartphonesms.html

Peter Foot включил аналогичную функцию в библиотеки His In the Hand, они могут позволить вам сделать то же самое на более ранней версии карманного компьютера.

person quick_dry    schedule 14.10.2008