コード例 #1
0
        public View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            string          messageId = Arguments.GetString(MESSAGE_ID_KEY);
            RichPushMessage message   = RichPushManager.Shared().RichPushUser.Inbox.GetMessage(messageId);

            if (message == null)
            {
                return(null);
            }


            View view = inflater.Inflate(Resource.Layout.message_dialog, container, true);

            RichPushMessageView messageView = (RichPushMessageView)view.FindViewById(Resource.Id.message_browser);

            messageView.LoadRichPushMessage(message);
            message.MarkRead();

            // Update the widget, this dialog can show a message on any activity
            RichPushWidgetUtils.RefreshWidget(this.Activity);


            Dialog.SetTitle(Resource.String.rich_push_message_dialog_title);

            return(view);
        }
コード例 #2
0
        protected void OnPause()
        {
            base.OnPause();

            // Refresh any widgets
            RichPushWidgetUtils.RefreshWidget(this);
        }
コード例 #3
0
        protected void OnPause()
        {
            base.OnPause();

            // Remove listener for message changes
            RichPushManager.Shared().RemoveListener(this);
            richPushInbox.RemoveListener(this);

            RichPushWidgetUtils.RefreshWidget(this);
        }
コード例 #4
0
        private const long WIDGET_REFRESH_DELAY_MS = 5000;         //5 Seconds


        public override void OnReceive(Context context, Intent intent)
        {
            // Refresh the widget after a push comes in
            if (PushManager.ActionPushReceived == intent.Action)
            {
                RichPushWidgetUtils.RefreshWidget(context, WIDGET_REFRESH_DELAY_MS);
            }

            // Only takes action when a notification is opened
            if (PushManager.ActionNotificationOpened != intent.Action)
            {
                return;
            }

            // Ignore any non rich push notifications
            if (!RichPushManager.IsRichPushMessage(intent.Extras))
            {
                return;
            }

            string messageId = intent.GetStringExtra(EXTRA_MESSAGE_ID_KEY);

            Logger.Debug("Notified of a notification opened with id " + messageId);

            Intent messageIntent = null;

            // Set the activity to receive the intent
            if ("home" == intent.GetStringExtra(ACTIVITY_NAME_KEY))
            {
                messageIntent = new Intent(context, typeof(MainActivity));
            }
            else
            {
                // default to the Inbox
                messageIntent = new Intent(context, typeof(InboxActivity));
            }

            messageIntent.PutExtra(RichPushApplication.MESSAGE_ID_RECEIVED_KEY, messageId);
            messageIntent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop | ActivityFlags.NewTask);
            context.StartActivity(messageIntent);
        }