Parse.com:在onPushOpen上获取推送通知消息

时间:2014-12-26 22:51:33

标签: android parse-platform push-notification

在我的Android应用程序中,我正在使用Parse.com提供的推送通知。我已成功完成此工作,但是我的应用程序有多个推送通知,应根据按下的推送通知加载不同的活动。我希望能够从onPushOpen的intent参数获取推送通知的消息,但它似乎是空的? 。有谁知道如何在onPushOpen方法中获取消息?

对于某些上下文,我在下面添加了我当前的自定义PushReceiver代码。

public class PushReceiver extends ParsePushBroadcastReceiver {

    @Override
    public void onPushOpen(Context context, Intent intent) {
        Log.e("Push", "Clicked");
        Intent i = new Intent(context, Splash.class);
        i.putExtras(intent.getExtras());
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
    }
}

感谢。

1 个答案:

答案 0 :(得分:0)

确保已升级到Parse-1.8.2。

然后你还需要做两件事。

  1. 将信息添加到AndroidManifest.xml(内)

    <service android:name="com.parse.PushService" />
    <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="com...ADD_PACKAGE_INFO_HERE..." />
        </intent-filter>
    </receiver>
    
    <receiver android:name="com..ADD_PACKAGE_INFO_HERE....PushReceiver"
              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>
    
  2. 将此项添加到代码外的AndroidManifest.xml中

  3. 在Parse.com上的云代码中,将广播的uri设置为“com .... ADD_PACKAGE_INFO_HERE ... PushReceiver”

  4. 注意:#1&amp;运行Android应用程序时,应在调试跟踪中为您提供#2。

    希望这会有所帮助。我花了好几个小时试图让它工作,我的关键是更新到1.8.2。

    编辑: 您还应该看一下覆盖onReceive以及onPushOpen ...实际上会在通知中调用它。祝你好运。