AnyChat技术支持论坛

标题: 非Activity组件也能收到事件通知吗? [打印本页]

作者: 熊仔饼干    时间: 2014-1-9 09:11
标题: 非Activity组件也能收到事件通知吗?
这是AnyChat for Android开发手册中的语句:


public void SetBaseEvent(AnyChatBaseEvent e);
功能:只有设置基本事件通知接口后,AnyChat 内核产生的异步事件才能通知到
Activity,并触发 Activity 中对应的接口方法。
……
如有多个 Activity 需要响应事件,则每个 Activity 都必须实现对应的接口,
并调用该方法向 AnyChat 内核注册该接口,只有当前活动的 Activity 才能接收到
异步消息,触发接口方法。


最后一句话“只有当前活动的 Activity 才能接收到异步消息,触发接口方法”,我想知道,如果在非Activity(如Application,Service,Fragment等)中实现事件通知接口的话,能否接收到异步消息?谢谢


作者: 廖斌    时间: 2014-1-9 09:29
您好,只要给定一个类实现注册接口哦就行。如Application,Service,Fragment等都是可以的。
作者: 熊仔饼干    时间: 2014-1-9 09:34
廖斌 发表于 2014-1-9 09:29
您好,只要给定一个类实现注册接口哦就行。如Application,Service,Fragment等都是可以的。

哦,那比如Fragment,是否也和Activity一样只有当前活动的Fragment才能收到异步消息?还是说,不可见的Fragment也能收到异步消息?
作者: 廖斌    时间: 2014-1-9 09:46
熊仔饼干 发表于 2014-1-9 09:34
哦,那比如Fragment,是否也和Activity一样只有当前活动的Fragment才能收到异步消息?还是说,不可见的Fr ...

不可见的也可以接收的。activity在onstop状态下也是可以接收的,你可以试下。
作者: 熊仔饼干    时间: 2014-1-9 09:53
廖斌 发表于 2014-1-9 09:46
不可见的也可以接收的。activity在onstop状态下也是可以接收的,你可以试下。

哦,那开发手册中“当前活动的 Activity”指的是什么状态下的Activity?还有个问题就是,core sdk中只有注册事件通知的接口,而(好像)没有相应的反注册接口,请问你们是如何解决内存泄漏问题的?
作者: admin    时间: 2014-1-9 09:59
您好,当注册新的事件通知接口时,便会释放之前的通知接口,不会造成内存泄露的。
作者: 熊仔饼干    时间: 2014-1-9 10:09
admin 发表于 2014-1-9 09:59
您好,当注册新的事件通知接口时,便会释放之前的通知接口,不会造成内存泄露的。

哦,就是说不能够两个类同时收到同一个事件接口的通知,明白了,谢谢!




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3