我在使用UiApplication.activate()方法解决应用后安装(OTA安装)时遇到了麻烦。
我有:
public class PlayerApp extends UiApplication
public PlayerApp() {
new Thread(this).start();
}
public void run() { ... }
public void activate() { ... }
我遇到了使用activate()方法的麻烦。它正在向前发射,它在安装后不应该发射(我认为它应该在用户从菜单中选择应用程序时触发)。更糟糕的是它并没有出现在所有Bold上。 BB意味着要求重新启动,但是激活()在此之前触发并且在UI中播放地狱。
问题。什么时候激活()真的开火?应该激活()无论如何都要在安装后启动?有没有办法在安装后处理activate()触发?这是rim apis中的一个错误吗?
注意:问题出现在BB Bold 4.6.0.144/4.0.0.143上,到目前为止,我不能够在4.6.0.282/4.0.0.235上复制该问题。
编辑:安装流程:OTA链接>下载>安装> '是'以'信任申请状态'>自动启动应用>麻烦从这里开始。
答案 0 :(得分:4)
根据API文档activate():
系统在将此应用程序带到前台时调用此方法。默认情况下,此方法不执行任何操作覆盖此方法以在被带到前台时执行其他处理。
所以,我怀疑在OTA安装后,用户可以选择运行应用程序,当接受时,将应用程序带到前台。如果没有看到你的启动代码,很难确定。如果您的应用程序配置为自动启动,则安装后它将“自动启动”。如果这样可以实现实例化并将其带到前台,那么将在此时调用激活。