我在两台设备上测试:
- 三星 Note4 使用 api 23 6.0.1
- Moto G5 api 24 7.0
当我关闭应用程序时,三星设备上未收到 OneSignal 推送通知,但由于应用程序已正确关闭,它在 Moto G5 上作为通知收到。
在三星上,我在 logcat 中看到了这个,而不是预期的推送消息
08-03 13:54:03.831 3738-3738/? W/GCM-DMM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.port.android.debug (has extras) }
我知道当通过滑动关闭应用程序或通过用户强制将其从设置中终止时,应该出现 result=CANCELLED 错误。所以这对三星来说是一个奇怪的惊喜
我觉得这个命令与此有关:
android.os.Process.killProcess(android.os.Process.myPid());
由于我运行了许多单例守护程序类,因此在关闭我的应用程序时我在两台设备上都运行了该命令。
任何想法?