А что, собственно, у вас трудности вызывает?
Как это можно осуществить?
В общем это выглядит так:
1. Проверяете ваше условие. Если оно возвращает true, показываете кнопку.
2. Нажимаете кнопку, показываете сообщение.
3.а. Можете обновлять запись сразу при открытии сообщения.
3.б. Обновляете запись при закрытии сообщения.
4. Условие в п.1. больше не должно проходить проверку.
P.S. В условии, о котором вы говорите, должен проверяться какой-то флаг прочтения сообщения, либо что угодно другое, по чему вы сможете однозначно определить, что сообщение было открыто. Например, при обновлении записи можно ставить дату прочтения, или просто флаг true в специально отведенном для этого столбце.