W 1981 roku był redaktorem w „Tygodniku Solidarność”. W stanie wojennym został pozbawiony prawa wykonywania zawodu. Do 1989 roku publikował w prasie podziemnej i opozycyjnej, m.in. w „Tygodniku Wojennym”, „Przeglądzie Wiadomości Agencyjnych”. Napisał również książki: reportersko-publicystyczną z czasu pierwszego karnawału „Solidarności” (Bydgoszcz – marzec 1981) i literacką (ABC), które zostały wydane w drugim obiegu. Wydał także zbiory reportaży: Poker oraz O tym, co pod ziemią.
Po 1989 roku był zastępcą redaktora naczelnego (Jarosława Kaczyńskiego) „Tygodnika Solidarność”, a następnie redaktorem naczelnym „Expressu Wieczornego”.
Był prezesem Polskiej Agencji Prasowej (1992) i Polskiej Agencji Informacyjnej (1999–2000). 30 czerwca 2006 został wybrany na prezesa zarządu Polskiego Radia, a 10 stycznia 2009 go odwołano.
Po powrocie do działalności publicystycznej publikował m.in. w „Rzeczpospolitej”, „Uważam Rze”, „Niedzieli”, „wSieci”; współpracował także z radiem i telewizją (Radio Wnet, TV Republika). Wydał książki publicystyczne: Ruska baba i Pierwsze podejście – zapiski naocznego świadka. Założył Kongres Mediów Niezależnych, którego jest honorowym przewodniczącym.
Członek Stowarzyszenia Dziennikarzy w latach 1971–1990 oraz od roku 2010 do dziś.
Działalność polityczna
Członek Związku Młodzieży Socjalistycznej. W latach 1967–1980 należał do Polskiej Zjednoczonej Partii Robotniczej. W 1980 roku wstąpił do NSZZ „Solidarność”.
Od października 2007 do lipca 2009 roku zasiadał w radzie nadzorczej TVP, a w latach 2007–2008 w radzie nadzorczej Polkomtela.
Współzałożyciel Ruchu Społecznego im. Lecha Kaczyńskiego i członek jego władz. Wraz z arcybiskupem Tadeuszem Gocłowskim i Jarosławem Kaczyńskim – założyciel i członek Rady Fundacji „Instytut im. Lecha Kaczyńskiego”.
W 2011 roku bez powodzenia kandydował z listy Prawa i Sprawiedliwości do Sejmu VII kadencji. W wyborach parlamentarnych w 2015 roku wybrany do Sejmu VIII kadencji z listy PiS.
26 listopada 2015 został powołany na stanowisko wiceministra kultury i dziedzictwa narodowego w rządzie Beaty Szydło.
22 lipca 2016 został wybrany przez Sejm w skład Rady Mediów Narodowych z rekomendacji PiS. Głosami członków rady, 2 sierpnia 2016 został jej przewodniczącym.