在我的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);
}
}
感谢。
答案 0 :(得分:0)
确保已升级到Parse-1.8.2。
然后你还需要做两件事。
将信息添加到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>
将此项添加到代码外的AndroidManifest.xml中
在Parse.com上的云代码中,将广播的uri设置为“com .... ADD_PACKAGE_INFO_HERE ... PushReceiver”
注意:#1&amp;运行Android应用程序时,应在调试跟踪中为您提供#2。
希望这会有所帮助。我花了好几个小时试图让它工作,我的关键是更新到1.8.2。
编辑: 您还应该看一下覆盖onReceive以及onPushOpen ...实际上会在通知中调用它。祝你好运。