我正在开发一个GCM应用程序。当设备不处于空闲状态(即通过按下电源按钮进行睡眠)时,一切正常。然而,当设备处于空闲状态时发送消息时,设备不会被唤醒。
我已经完成了以下步骤:
- 确认服务器应用程序中 delay_while_idle 未设置为 true
- 为每个消息使用不同的折叠键
- 多次重新启动设备
- 尝试完全从服务器端省略 delay_while_idle - 没有任何效果
我在针对 Android 2.2 API 级别 8(最低版本),在运行 Android 2.3.6 的实际设备上进行测试。
设备正在使用 Wi-Fi,没有 SIM 卡 - 但在运行和非空闲时仍可以接收消息。
这是客户端清单权限部分:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<permission
android:name="com.tranwall.sdk.device.android.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="basePackage.android.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.INTERNET" />
提前感谢任何帮助。