我已经开始在我的应用中集成GCM。关于需要放置GCMIntentService的包名称,我几乎没有疑问。正如android.developer网站所述
By default, it must be named .GCMIntentService, unless the
application uses a custom BroadcastReceiver that redefines its name.
我的应用程序之前使用的是Service类,它名为BackgroundService
,位于com.abc.xyz.service
包中。我的根包名称是com.abc.xyz.ui.activity
。我已经通过this link和this one.解决方案与包名称一起工作,但我的包名称不相同。因为我的根包不同。
我的查询是我是否需要重命名我的包结构或者还有其他方法?我不想将包名重命名为我们从开始使用的标准格式。那么还有其他方法可以做到这一点。提前谢谢。
修改
<receiver
android:name="com.abc.xyz.service.GCMReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.abc.xyz.ui.activity" />
</intent-filter>
</receiver>
<service android:name="com.abc.xyz.service.BackgroundService" />
更新并完成回复
正如Anup所提到的那样,只要您正确地对其进行限定,放置文件的位置并不重要。我的工作也一样。你可以参考。帮助我实现答案的my other question link。 My this question link因为它包含了我的清单。所以我接受Anup的答案,因为它至少没错。
答案 0 :(得分:1)
只要您在服务的清单文件声明中正确限定它,AFAIK就无所谓了。您可以将它放在您想要的任何包装中,只要确保您在任何使用它的地方都能正确使用它。