我的应用程序没有收到解析推送通知
问题描述:
我已经设置了我的应用程序的解析通知,并严格按照说明,但不知何故,我没有收到任何通知。这里有什么问题?我的应用程序没有收到解析推送通知
更新:我只是尝试在Parse.com网站上发送测试推送通知。这应该没有订阅的频道工作(见注释)
我AndroidManifest.xml中(仅相关部分):
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:protectionLevel="signature"
android:name="co.bla.bla.permission.C2D_MESSAGE" />
<uses-permission android:name="co.bla.bla.permission.C2D_MESSAGE" />
<!-- Push notification setup -->
<service android:name="com.parse.PushService" />
<receiver android:name="co.bla.bla.ParsePushReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.DELETE" />
<action android:name="com.parse.push.intent.OPEN" />
</intent-filter>
</receiver>
<receiver android:name="com.parse.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="co.bla.bla" />
</intent-filter>
</receiver>
</application>
而且我已经延长ParsePushBroadcastReceiver
:终于
public class ParsePushReceiver extends com.parse.ParsePushBroadcastReceiver{
@Override
protected void onPushReceive(Context context, Intent intent) {
ParseAnalytics.trackAppOpenedInBackground(intent);
String s = intent.getStringExtra("alert");
Log.d("Push received", s);
// do your stuff here
if(SugarSnapApplication.INACTIVE)
super.onPushReceive(context, intent);
}
@Override
protected void onPushOpen(Context context, Intent intent) {
// TODO Auto-generated method stub
Intent i = new Intent(context, SugarActivity.class);
i.putExtras(intent.getExtras());
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
@Override
protected Notification getNotification(Context context, Intent intent) {
// TODO Auto-generated method stub
return super.getNotification(context, intent);
}
@Override
protected void onPushDismiss(Context context, Intent intent) {
// TODO Auto-generated method stub
super.onPushDismiss(context, intent);
}
}
答
我找出问题所在。几天前,我已将应用程序的整个包名重命名,显然这种更改并未到处发生,我的build.gradle
文件中的应用程序ID仍旧是旧的。所以很自然地,我的AndroidManifest.xml中的包名与我的Installation
类中保存的不一样。
您是否订阅了您要发送的频道? –
@IliiazAkhmedov我只是尝试在Parse.com网站上发送测试推送通知。 – Loolooii
我的意思是在你的应用程序的应用程序类中调用了ParsePush.subscribeInBackground(“”); –