2009-10-20 65 views
2

进来的消息如何编程,当一个消息的Symbian RSS订阅全部手机上到达禁用这些通知的所有notifictions:禁用的Symbian RSS订阅全部

  1. 信息提示音(我想我得到了一个)
  2. 的LED闪光
  3. 手机振动
  4. 屏幕亮起
  5. 消息图标(我想我得到了一个太)

以及我可以使用哪些SDK?我更喜欢使用Python,但我不认为Python的SDK用于Symbian是太完整的,所以我想我必须使用C++

任何帮助是极大的赞赏,感谢

回答

1

坏消息是,你不能依赖于使用信息中心的API,以便用户通知发生之前来处理他们观看的消息。通常你可以很快处理它们,但在处理速度更快的手机上,用户有时会看到一些通知 - 无论是嘟嘟声,还是屏幕亮起等。我曾经使用这种方法,然后在N95上手机仍然当短信到达时蜂鸣。

好消息是,如果你只关注SMS消息,那么有一种更可靠的拦截方式,以便用户从不看到任何通知。您可以使用套接字在消息中心掌握之前接收消息。

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

我转我的代码到这样的事情,并发现它的工作要好得多。据我所知,没有办法从Python做到这一点。

+0

谢谢,自从我问了这个问题之后,我一直在等待这个问题。这正是我需要的 – Brian 2009-10-27 10:35:37

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); 
+0

谢谢你:-)我会试试看。您的代码是否也禁用了LED闪烁和屏幕亮起? – Brian 2009-10-22 08:03:16

+0

是的,它被用户忽视了。 – 2009-10-22 13:33:47

+0

不幸的是,这并不总是奏效 - 一些更快的手机仍然会在您的代码可以收到消息之前发出嘟嘟声。 – 2009-10-26 20:02:35