2

当消息到达我的 symbian S60v3 手机时,如何以编程方式禁用这些通知:

  1. 消息音(我想我得到了那个)
  2. LED闪烁
  3. 手机震动
  4. 屏幕亮了
  5. 消息图标(我想我也有那个)

我可以使用什么 SDK?我更喜欢用Python,但是我觉得Symbian的Python SDK不太完整,所以我想我必须使用C++

非常感谢任何帮助,谢谢

4

2 回答 2

2

我设法通过创建一个 MMsvSessionObserver 并在 HandleSessionEventL 中执行以下操作来禁用所有通知:

TMsvId* entryId = STATIC_CAST(TMsvId*, aArg2);

CMsvEntry* msvEntry = myMsvSession->GetEntryL(entryId); 
TMsvEntry entry = msvEntry->Entry();

entry.SetNew(EFalse);
entry.SetUnread(EFalse);
entry.SetVisible(EFalse);

msvEntry->ChangeL(entry);
于 2009-10-21T10:00:53.623 回答
1

坏消息是,您不能依靠使用消息中心 API 来监视消息以便在用户通知发生之前对其进行处理。通常你能够足够快地处理它们,但在处理器速度更快的手机上,用户有时会看到一些通知——要么是哔哔声,要么是屏幕亮起等。我曾经使用这种方法,然后在 N95 上手机仍然短信到达时发出哔哔声。

好消息是,如果您只关心 SMS 消息,那么有一种更可靠的方式来拦截它们,这样用户就不会看到任何通知。您可以在消息中心获取消息之前使用套接字接收消息。

这里有一个工作示例:http: //symbian.devtricks.mobi/tricks/silent_receiving_of_sms_messages/

我将我的代码切换到这样的东西,发现它工作得更好。据我所知,Python 无法做到这一点。

于 2009-10-26T20:01:41.500 回答