简洁版本
我发现,WLClient生命周期势必活动。 活动的生命周期是由操作系统管理。
你有什么建议来弥补呢?
长的版本
对于Android原生的项目,第一步应通过以下调用来创建一个WLClient实例
WLClient.getInstance(Context ctx)
从API文档,这是一个背景,而不是一个活动,但在现实中,就投在WLPush.java在WL框架类型。
它没有意义的WLClient绑定到一个活动,它的生命周期不是由我们控制。 因此,对于安全的关注,每个WLClient应重新创建,创建一个新的活动时。
而对于每一个再创作,下面的需要:
- 连接到服务器
- 构建挑战处理机
我有以下错误,如果我通过继承应用程序(这是一个Context)类(MainContext):
09-26 13:33:29.571: E/AndroidRuntime(32300): FATAL EXCEPTION: pool-2-thread-4
09-26 13:33:29.571: E/AndroidRuntime(32300): Process: com.XXXX, PID: 32300
09-26 13:33:29.571: E/AndroidRuntime(32300): java.lang.ClassCastException: com.XXX.MainContext cannot be cast to android.app.Activity
09-26 13:33:29.571: E/AndroidRuntime(32300): at com.worklight.wlclient.api.WLPush.<init>(WLPush.java:151)
09-26 13:33:29.571: E/AndroidRuntime(32300): at com.worklight.wlclient.api.WLClient.getPush(WLClient.java:673)
09-26 13:33:29.571: E/AndroidRuntime(32300): at com.worklight.wlclient.WLRequest.requestFinished(WLRequest.java:203)
09-26 13:33:29.571: E/AndroidRuntime(32300): at com.worklight.wlclient.InternalRequestSender.run(AsynchronousRequestSender.java:138)
09-26 13:33:29.571: E/AndroidRuntime(32300): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
09-26 13:33:29.571: E/AndroidRuntime(32300): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
09-26 13:33:29.571: E/AndroidRuntime(32300): at java.lang.Thread.run(Thread.java:841)