我遇到了一个奇怪的问题 - 我已经在我的应用程序中使用GCM相当长的时间,并且一切都运行得很完美。然而,在发布到Google Play之前,我将应用程序包名称从
我该如何解决这个问题?当我切换到新包时,我将清单文件中所有内容都更改为新包的名称。
com.android.testapp
改为 com.android.recognition
,此后GCM停止工作。起初我收到了错误消息 GCM sender id not set on constructor
,通过重写getSenderIds(Context context)
方法解决了这个问题,但现在我无法获取注册ID。以下是来自logcat的消息:
![enter image description here](https://istack.dev59.com/EFXeJ.webp)
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.android.recognition" />
</intent-filter>
</receiver>
那么这背后的问题是什么?重命名应用程序包是否会导致这种情况,或者还有其他原因?