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); }
protected void OnPause() { base.OnPause(); // Refresh any widgets RichPushWidgetUtils.RefreshWidget(this); }
protected void OnPause() { base.OnPause(); // Remove listener for message changes RichPushManager.Shared().RemoveListener(this); richPushInbox.RemoveListener(this); RichPushWidgetUtils.RefreshWidget(this); }
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); }