当我的应用程序在后台运行时,我无法再接收任何数据消息。请注意,直到最近我的应用程序都运行良好。可能是由于最近在我的开发环境中进行的更新之后停止工作了,我无法确定...
因此,我尝试使用quickstart-android项目进行测试,看看它是否可以更好地工作。
答案是否定的!
我毫不怀疑quickstart-android项目已经完全配置为使用FCM功能...
我从高级REST客户端发送了以下消息,我目前成功使用它来测试我的应用程序。
我能说的是,每当我在应用程序处于后台时发送消息时,logcat 中会显示以下内容。
因此,设备已成功接收到消息,但未传递给onMessageReceive()。我看到了许多关于这个问题的帖子,但答案总是含糊不清,因为我们能说的是它对一些人有效,而对其他人无效。因此,我想知道是否有人最近对这个问题有了更精确的解释,因为我想知道它是否可能来自开发环境,因为我尝试使用新更新的studio、sdk、构建工具构建旧的工作项目,我面临着同样的问题,GCM / FCM消息不再被新构建的应用程序接收到。
编辑后,经过更多调查,我在logcat中看到,当我从最近的应用程序列表中滑出我的应用程序时,它会强制关闭。这肯定解释了它无法处理设备接收到的消息的原因。
我还尝试了我的一个工作项目,它是在几周前基于GCM 8.4.0,sdk 23,java 1.7构建的,当时它是可以工作的,但现在我遇到了同样的问题:应用程序强制关闭。我在两个不同的设备上测试过我的工作项目:nexus 7 LTE 6.0.1和GT-9295 5.0.1。唯一的区别是Android Studio/gradle的版本。之前工作的项目是使用1.5.2构建的,而现在我使用的是2.1.2,我再也无法构建任何可工作的应用程序了。我在两台不同的计算机上都遇到了这个问题,在其中一台计算机上我甚至重新安装了所有东西!
因此,我尝试使用quickstart-android项目进行测试,看看它是否可以更好地工作。
答案是否定的!
我毫不怀疑quickstart-android项目已经完全配置为使用FCM功能...
我从高级REST客户端发送了以下消息,我目前成功使用它来测试我的应用程序。
{
"to" : "dLN4paNl3uw:APA91bH0lpkEMxGp...._7EdxkB2cRbPKFxT2Ti3OPw-7fCSwXCSfGG",
"data": {
"id": 19,
"title": "Title test",
"msg": "Text of the test",
"code": 2,
},
"delay_while_idle" : false,
"priority" : "high",
"content_available" : true
}
我能说的是,每当我在应用程序处于后台时发送消息时,logcat 中会显示以下内容。
07-22 12:54:21.400 14316-14316/? W/GCM-DMM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE flg=0x10000000 pkg=com.google.firebase.quickstart.fcm (has extras) }
因此,设备已成功接收到消息,但未传递给onMessageReceive()。我看到了许多关于这个问题的帖子,但答案总是含糊不清,因为我们能说的是它对一些人有效,而对其他人无效。因此,我想知道是否有人最近对这个问题有了更精确的解释,因为我想知道它是否可能来自开发环境,因为我尝试使用新更新的studio、sdk、构建工具构建旧的工作项目,我面临着同样的问题,GCM / FCM消息不再被新构建的应用程序接收到。
编辑后,经过更多调查,我在logcat中看到,当我从最近的应用程序列表中滑出我的应用程序时,它会强制关闭。这肯定解释了它无法处理设备接收到的消息的原因。
07-23 23:12:29.002 671-31254/? I/ActivityManager: Killing 17453:com.google.firebase.quickstart.fcm/u0a297 (adj 9): remove task
07-23 23:12:29.016 14316-14524/? D/GCM: Removing messenger 0:com.google.firebase.quickstart.fcm
07-23 23:12:29.017 671-2998/? I/WindowState: WIN DEATH: Window{2a27cf7 u0 com.google.firebase.quickstart.fcm/com.google.firebase.quickstart.fcm.MainActivity}
07-23 23:12:30.148 671-4851/? I/ActivityManager: Force stopping com.google.firebase.quickstart.fcm appid=10297 user=0: from pid 18289
我还尝试了我的一个工作项目,它是在几周前基于GCM 8.4.0,sdk 23,java 1.7构建的,当时它是可以工作的,但现在我遇到了同样的问题:应用程序强制关闭。我在两个不同的设备上测试过我的工作项目:nexus 7 LTE 6.0.1和GT-9295 5.0.1。唯一的区别是Android Studio/gradle的版本。之前工作的项目是使用1.5.2构建的,而现在我使用的是2.1.2,我再也无法构建任何可工作的应用程序了。我在两台不同的计算机上都遇到了这个问题,在其中一台计算机上我甚至重新安装了所有东西!