#c #windows-mobile #embedded
Вопрос:
Мое приложение реализовано как служба (работает под services.exe). Я добавляю новую функцию, которая требует уведомления, когда пользователь отправляет SMS.
Я пробовал использовать IMAPIAdviseSink
, регистрироваться в обоих IMAPISession
и IMsgStore
, но я не получаю никаких уведомлений.
Другие варианты, которые я вижу, — это создание поставщика услуг коротких сообщений или реализация IFormProviderEx
интерфейса, но я не уверен в том, как это может повлиять на функциональность SMS и пользовательский интерфейс.
Есть ли какой-либо способ, с помощью которого мое приложение может надежно получать уведомления о создании SMS-сообщений в папке «Исходящие»?
правка: Приложение написано на родном языке C . Я изучил RIL и несколько других API, но могу найти только информацию о получении уведомлений о входящих SMS-сообщениях.
Хорошо, еще немного информации: Тот же код для регистрации моих IMAPIAdviseSink
работ в автономном приложении. Это всего лишь неспособность получать уведомления в службе.
Есть ли в любом случае возможность получать уведомления в моем сервисе? Или мне нужен отдельный процесс для отслеживания событий SMS и уведомления моей службы?
Марк
Ответ №1:
Вы не можете использовать IMAPIAdviseSink
сервис.
Вам нужно использовать его из отдельного процесса и уведомлять службу о событиях, которые вас интересуют.
Ответ №2:
правка: упс, пропустил, что сообщение создавали пользователи, а не входящие.
Вы нацелены на Windows mobile 5 ?
Я думаю, что вы ищете класс MessageInterceptor в Microsoft.ВиндоусМобиль.Карманный бумажник.Пространство имен MessageInterception.
Вот ссылка на пример кода: http://www.knowdotnet.com/articles/smartphonesms.html
Питер Фут включил аналогичную функцию в свои библиотеки In the Hand, они могут позволить вам сделать то же самое на более ранней версии pocket pc.