2015-11-06 113 views
0

我已经设置了我的应用程序的解析通知,并严格按照说明,但不知何故,我没有收到任何通知。这里有什么问题?我的应用程序没有收到解析推送通知

更新:我只是尝试在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); 
    } 
} 
+0

您是否订阅了您要发送的频道? –

+0

@IliiazAkhmedov我只是尝试在Parse.com网站上发送测试推送通知。 – Loolooii

+0

我的意思是在你的应用程序的应用程序类中调用了ParsePush.subscribeInBackground(“<你的默认主通道名称>”); –

回答

1

我找出问题所在。几天前,我已将应用程序的整个包名重命名,显然这种更改并未到处发生,我的build.gradle文件中的应用程序ID仍旧是旧的。所以很自然地,我的AndroidManifest.xml中的包名与我的Installation类中保存的不一样。