package Ġcom . j ason cs ul li van . yel p clone Ċ Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Connectivity Manager Ċ import Ġjava . io . IOException Ċ Ċ // Ġcredit : Ġhttps :// medium . com /@ dil ips uth ar 9 7 / listen - to - internet - connection - using - broadcast receiver - in - android - kotlin - 6 b 5 2 7 4 2 6 a 6 f 2 Ċ class ĠConnect ivity Receiver : ĠBroadcast Receiver () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext ?, Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( connectivity Receiver Listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnectivity Receiver Listener !!. on Network Connection Changed ( isConnected Or Connecting ( context !! )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Connected Or Connecting ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġis Online () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠConnect ivity Receiver Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Network Connection Changed ( isConnected : ĠBoolean ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġconnectivity Receiver Listener : ĠConnect ivity Receiver Listener ? Ġ= Ġnull ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ public Ġfun Ġis Online () Ġ: ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġruntime Ġ= ĠRuntime . get Runtime () ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġip Process Ġ= Ġruntime . exec ("/ system / bin / ping Ġ- c Ġ 1 Ġ 8 . 8 . 8 . 8 ") ĊĠĠĠĠĠĠĠ Ġval Ġexit Value Ġ= Ġip Process . waitFor () ĊĠĠĠĠĠĠĠ Ġreturn Ġexit Value Ġ== Ġ 0 ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠInterruptedException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġfalse Ċ } Ċ