我对Android进程行为和GCM侦听器服务有一个问题。
正如我已经描述的那样here,我的GCM通知出现问题,这些问题出现在某些测试设备上:有时服务工作并在2-3小时内收到消息。
这个问题在一定程度上得到了解决,我在我的MainActivity中添加了“startService()' -method。”
this.startService(new Intent(context, MyGcmListener.class));
现在我的服务会话持续更长时间。但是自从这个新的应用程序版本发布以来又出现了另一个问
这些信息并非一个接一个地实现并及时实现。应用程序进程处于睡眠状态,每小时只能唤醒一次。这就是为什么我有时会同时收到多达15条消息,尽管它们并未同时发送。
如何让这个过程不能入睡并始终保持清醒?
这是关于GCM的明显部分:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!-- ... other permissions -->
<permission
android:name="my.app.path.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="my.app.path.permission.C2D_MESSAGE" />
<application
...>
<!-- ... activites... -->
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="my.app.path" />
</intent-filter>
</receiver>
<service
android:name=".MyGcmListener"
android:exported="false"
android:enabled="true" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
</application>
</manifest>