extras from custom broadcast receiver to activity are null

Answered

Comments

1 comment

  • Avatar
    Anupam Chugh

    I've figured it out myself. The issue was with the flags. I have figured it myself. Modify the Custom Push Broadcast Receiver of the pushwoosh docs to retrieve the extras as given below:

        public class NotificationReceiver extends BroadcastReceiver
    
    {
        public void onReceive(Context context, Intent intent)
        {
            if (intent == null)
                return;
    
            //Let Pushwoosh SDK to pre-handling push (Pushwoosh track stats, opens rich pages, etc.).
            //It will return Bundle with a push notification data
            Bundle pushBundle = PushManagerImpl.preHandlePush(context, intent);
            if(pushBundle == null)
                return;
    
            //get push bundle as JSON object
            JSONObject dataObject = PushManagerImpl.bundleToJSON(pushBundle);
            Log.d("APIPushwoosh", dataObject.toString());
            //Get default launcher intent for clarity
            //Intent launchIntent  = new Intent(context, Home2Activity.class);
    
    
            Intent launchIntent= new Intent();
            launchIntent.setClass(context, Home2Activity.class);
            launchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED| Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
            //Put push notifications payload in Intent
            //launchIntent.putExtras(pushBundle);
            launchIntent.putExtra(PushManager.PUSH_RECEIVE_EVENT, dataObject.toString());
            //GlobalConst.setPush(dataObject.toString());
            PendingIntent contentIntent = PendingIntent.getActivity(context, 0, launchIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    
            try {
                contentIntent.send();
            } catch (PendingIntent.CanceledException e) {
                e.printStackTrace();
            }
    
            //Start activity!
            //context.startActivity(launchIntent);
    
            //Let Pushwoosh SDK post-handle push (track stats, etc.)
            PushManagerImpl.postHandlePush(context, intent);
        }
    

    This link helped me out

Please sign in to leave a comment.