且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

我想用解析收到推送通知,并在活动中显示。我怎样才能从parse通知的价值观?

更新时间:2021-10-02 22:03:26

您需要做以下从推送通知得到的值。

You need to do following for getting the value from push notification.


  1. 添加ParsePushReciever在你的主包中。

  1. 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.
        }
    }