当我的symbian S60v3手机上有消息到达时,如何以编程方式禁用这些通知:
我可以使用什么SDK?我更喜欢使用Python,但我不认为Symbian的Python SDK太完整了,所以我想我必须使用C ++
非常感谢任何帮助,谢谢
答案 0 :(得分: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);
答案 1 :(得分:1)
坏消息是,您不能依赖于使用消息中心API来监视消息,以便在用户通知发生之前处理它们。通常你可以足够快地处理它们,但是在具有更快处理器的手机上,用户有时会看到一些通知 - 要么发出哔哔声,要么屏幕亮起等等。我曾经使用这种方法,然后在N95手机上仍然当短信到达时蜂鸣。
好消息是,如果您只关注SMS消息,那么有一种更可靠的拦截方式,以便用户永远不会看到任何通知。您可以使用套接字在消息中心获取消息之前接收消息。
这里有一个有用的例子: http://symbian.devtricks.mobi/tricks/silent_receiving_of_sms_messages/
我将代码切换到类似的东西,发现它工作得更好。据我所知,没有办法从Python中做到这一点。