我正在使用最新的Parse Android SDK 1.9.1。我只将Parse用于推送通知服务。它几乎可以在每个设备上运行而没有问题但现在我发现,安装了Cyanogenmod的设备并没有获得deviceToken。并且pushType也没有设置。这是正常的gcm
。
如果我在使用Cyangenmod的设备上启动应用程序,我会从LogCat获得以下异常:
E/com.parse.ManifestInfo(22372): Cannot use GCM for push because the app manifest is missing some required declarations. Please make sure that these permissions are declared as children of the root <manifest> element:
E/com.parse.ManifestInfo(22372):
E/com.parse.ManifestInfo(22372): <uses-permission android:name="android.permission.INTERNET" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="android.permission.VIBRATE" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="android.permission.WAKE_LOCK" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="android.permission.GET_ACCOUNTS" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
E/com.parse.ManifestInfo(22372): <permission android:name="com.example.testapp.permission.C2D_MESSAGE" android:protectionLevel="signature" />
E/com.parse.ManifestInfo(22372): <uses-permission android:name="com.example.testapp.permission.C2D_MESSAGE" />
E/com.parse.ManifestInfo(22372):
E/com.parse.ManifestInfo(22372): Also, please make sure that these services and broadcast receivers are declared as children of the <application> element:
E/com.parse.ManifestInfo(22372):
E/com.parse.ManifestInfo(22372): <service android:name="com.parse.PushService" />
E/com.parse.ManifestInfo(22372): <receiver android:name="com.parse.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
E/com.parse.ManifestInfo(22372): <intent-filter>
E/com.parse.ManifestInfo(22372): <action android:name="com.google.android.c2dm.intent.RECEIVE" />
E/com.parse.ManifestInfo(22372): <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
E/com.parse.ManifestInfo(22372): <category android:name="com.example.testapp" />
E/com.parse.ManifestInfo(22372): </intent-filter>
E/com.parse.ManifestInfo(22372): </receiver>
在其他设备上,它可以正常工作,权限和intent-filters在Manifest文件中设置。
有什么想法吗?