我在我的应用中实现了GCM,但我遇到了一个奇怪的问题。
当我的IntentService
替换GCMBaseIntentService
位于我的root包中时,它可以正常工作。我在.MyGCMIntentService
的清单中引用它。
根包将是com.example.rootpackage
当我将我的意图服务移动到另一个包时,例如com.example.rootpackage.service
,从不调用意图服务。此时我会更新我的清单以指向com.example.rootpackage.service.MyGCMIntentService
并且没有骰子。
我在Google的文档中遗漏了一些关于定位它的内容,还是这就是它的工作原理?
答案 0 :(得分:3)
是的,它应该在根包中:
此意向服务将由GCMBroadcastReceiver(由GCM库提供)调用,如下一步所示。它必须是com.google.android.gcm.GCMBaseIntentService的子类,必须包含公共构造函数,并且应该命名为 my_app_package.GCMIntentService (除非您使用GCMBroadcastReceiver的子类来覆盖用于的方法命名服务)。
(引自here)
编辑:
正如文档所述,如果您使用覆盖GCMBroadcastReceiver
的{{1}}子类,则可以更改它:
getDefaultIntentServiceClassName