在 Bluemix 迁移到 cflinuxfs2 堆栈后,Android 移动首个应用程序停止工作

Posted

技术标签:

【中文标题】在 Bluemix 迁移到 cflinuxfs2 堆栈后,Android 移动首个应用程序停止工作【英文标题】:Android mobile first app stopped working after Bluemix moved to cflinuxfs2 stack 【发布时间】:2015-12-10 16:32:46 【问题描述】:

我有一个基于 bluelist 应用程序的 android 应用程序,用于 bluemix BMS 服务。当堆栈移动到 cflinuxfs2 时,它昨天停止工作。 今天我在同一个 bluemix 服务上检查了我的 ios 应用程序,它正在工作。所以我查看了 Android 上的异常,它来自 MFPush,看起来上下文为空。有关抛出 NPE 的代码行,请参见附图。 堆栈跟踪是:java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Intent android.content.Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter)' on a null object reference 12-10 16:00:31.240 14482-14482/com.ibm.bluelist E/AndroidRuntime: at com.ibm.mobilefirstplatform.clientsdk.android.push.api.MFPPush.listen(MFPPush.java:232) 12-10 16:00:31.240 14482-14482/com.ibm.bluelist E/AndroidRuntime: at com.ibm.bluelist.GroupsActivity.onResume(GroupsActivity.java:250) 12-10 16:00:31.240 14482-14482/com.ibm.bluelist E/AndroidRuntime: at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1257) 12-10 16:00:31.240 14482-14482/com.ibm.bluelist E/AndroidRuntime: at android.app.Activity.performResume(Activity.java:6119)

【问题讨论】:

【参考方案1】:

当您尝试调用时,MFPPush SDK 可能尚未初始化: push.listen(notificationListener)

我建议保存推送值: push = MFPPush.getInstance() 在类中初始化或注册(任何你认为更合适的)之后立即。

这样,在尝试侦听通知侦听器时,您将拥有适当的初始化 push 实例。

【讨论】:

以上是关于在 Bluemix 迁移到 cflinuxfs2 堆栈后,Android 移动首个应用程序停止工作的主要内容,如果未能解决你的问题,请参考以下文章

将 MobileFirst 应用程序集成到 BlueMix

如何在 Bluemix 中更改同一项目的 War 文件

Django 应用程序部署@Bluemix,其中 postgresql 不能作为服务使用

如何将内部 MobileFirst 混合应用程序部署到专用的 Bluemix 环境?

如何在 Bluemix 中将 SQL 数据库加载到 Analytics for Apache Spark?

如何将数据库恢复到 Bluemix 中的 SQL 数据库服务?