GCMService包名称表示法

时间:2013-01-15 05:12:28

标签: android google-cloud-messaging

我已经开始在我的应用中集成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 linkthis 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 linkMy this question link因为它包含了我的清单。所以我接受Anup的答案,因为它至少没错。

1 个答案:

答案 0 :(得分:1)

只要您在服务的清单文件声明中正确限定它,AFAIK就无所谓了。您可以将它放在您想要的任何包装中,只要确保您在任何使用它的地方都能正确使用它。