package Ġcom . little tr ick ster . android r socket demo . f service Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . app . Notification Channel Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġandroidx . core . content . Context Compat Ċ Ċ class ĠService Launcher ( context : ĠApplication ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġid Ġ= Ġ 1 . toString () ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġname Ġ= Ġ" Foreground Ġservice " Ġ// visible Ġin Ġnotification Ġsettings ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠNotification Channel ( id , Ġname , ĠNotification Manager . IMPORT ANCE _ LOW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . set Sound ( null , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnotification Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getSystem Service ( Context . NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Manager . create Notification Channel ( channel ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġservice Intent Ġ= ĠIntent ( context , ĠMy Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ Ġaction Ġ= ĠMy Service . ACTION _ START Ġ} ĊĠĠĠĠĠĠĠ ĠContext Compat . start Foreground Service ( context , Ġservice Intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstop ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġservice Intent Ġ= ĠIntent ( context , ĠMy Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ Ġaction Ġ= ĠMy Service . ACTION _ STOP Ġ} ĊĠĠĠĠĠĠĠ Ġcontext . start Service ( service Intent ) ĊĠĠĠ Ġ} Ċ Ċ }