更新时间:2021-10-02 22:03:26
您需要做以下从推送通知得到的值。
You need to do following for getting the value from push notification.
添加ParsePushReciever在你的主包中。
Add the ParsePushReciever in your main package.
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.support.v4.app.NotificationCompat;
import com.parse.ParsePushBroadcastReceiver;
public class ParsePushReciever extends ParsePushBroadcastReceiver {
@Override
public void onPushOpen(Context context, Intent intent) {
AppLog.e("Push", "Clicked");
Intent i = new Intent(context, MainActivity.class);
i.putExtras(intent.getExtras());
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
@Override
public void onReceive(Context context, Intent intent) {
Log.d("Push Notification",intent.getExtras().get(ParsePushBroadcastReceiver.KEY_PUSH_DATA).toString());
NotificationManager nm=(NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setSmallIcon(R.drawable.launcher);
Intent newIntent=new Intent(context,MainActivity.class);
newIntent.putExtra(context.getString(R.string.navigation_from_notification),true);
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pi=PendingIntent.getActivity(context, 0, newIntent, 0);
builder.setContentIntent(pi);
builder.setContentText("Push Notification");
Log.d("Notification", strMsg);
nm.notify(1, builder.build());
}
}
添加reciever在你的清单文件:
Add the reciever in your manifest file:
<receiver android:name=".ParsePushReciever" 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>
<meta-data
android:name="com.parse.push.notification_icon"
android:resource="@drawable/launcher" />
检查通知在MainActivity:
Check for notification in your MainActivity:
if(getIntent()!=null) {
if (getIntent().getExtras()!=null &&
getIntent().getExtras().getBoolean(getString(R.string.navigation_from_notification))) {
//get data from intent and display it in your activity.
}
}