package Ġcom . wang peng fe i . service demo Ċ Ċ import Ġandroid . content . Component Name Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Service Connection Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . IB inder Ċ import Ġandroid . widget . TextView Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġtv _ start : TextView ?= null ĊĠĠĠ Ġprivate Ġvar Ġtv _ stop : TextView ?= null ĊĊĠĠĠ Ġprivate Ġvar Ġtv _ bind _ service : TextView ?= null ĊĠĠĠ Ġprivate Ġvar Ġtv _ play : TextView ?= null ĊĠĠĠ Ġprivate Ġvar Ġtv _ unbind _ service : TextView ?= null ĊĊĠĠĠ Ġprivate Ġvar Ġmy play Binder : My Service . My Play Binder ?= null ĊĊĠĠĠ Ġprivate Ġvar Ġconnection Ġ= Ġobject : Service Connection { ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Service Disconnected ( name : ĠComponent Name ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Service Connected ( name : ĠComponent Name ?, Ġservice : ĠI Binder ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy play Binder Ġ= Ġservice Ġas ĠMy Service . My Play Binder ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġtv _ stop Ġ= ĠfindViewById ( R . id . tv _ stop ) ĊĠĠĠĠĠĠĠ Ġtv _ start Ġ= ĠfindViewById ( R . id . tv _ start ) ĊĊĠĠĠĠĠĠĠ Ġtv _ bind _ service Ġ= ĠfindViewById ( R . id . tv _ bind _ service ) ĊĠĠĠĠĠĠĠ Ġtv _ play Ġ= ĠfindViewById ( R . id . tv _ play ) ĊĠĠĠĠĠĠĠ Ġtv _ unbind _ service Ġ= ĠfindViewById ( R . id . tv _ unbind _ service ) ĊĊĠĠĠĠĠĠĠ Ġtv _ start ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¼ĢåĲ¯ æľįåĬ¡ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart My Service () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtv _ stop ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åģľæŃ¢ æľįåĬ¡ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop My Service () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtv _ bind _ service ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ç»ĳå®ļ æľįåĬ¡ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind My Service () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtv _ play ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æĿ¥ é¦ĸ æŃĮ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplay () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtv _ unbind _ service ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è§£ ç»ĳ æľįåĬ¡ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġun bind My Service () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ å¼ĢåĲ¯ æľįåĬ¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġstart My Service (){ ĊĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( this , My Service :: class . java ) ĊĠĠĠĠĠĠĠ Ġstart Service ( intent ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ åħ³éĹŃ æľįåĬ¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġstop My Service (){ ĊĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( this , My Service :: class . java ) ĊĠĠĠĠĠĠĠ Ġstop Service ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ ç»ĳå®ļ æľįåĬ¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġbind My Service (){ ĊĠĠĠĠĠĠĠ Ġvar Ġintent Ġ Ġ= ĠIntent ( this , My Service :: class . java ) ĊĠĠĠĠĠĠĠ Ġbind Service ( intent , connection , BIND _ AUTO _ CREATE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ Ĵ Ń æĶ¾ éŁ³ ä¹Ĳ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġplay (){ ĊĠĠĠĠĠĠĠ Ġif ( my play Binder != null ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( tv _ play ?. text . toString () Ġ== Ġ" æĿ¥ é¦ĸ æŃĮ "){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy play Binder ?. play () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ play ?. text Ġ= Ġ" æĴŃæĶ¾ ä¸Ń " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy play Binder ?. stop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ play ?. text Ġ= Ġ" æĿ¥ é¦ĸ æŃĮ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ è§£ ç»ĳ æľįåĬ¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġun bind My Service (){ ĊĠĠĠĠĠĠĠ Ġun bind Service ( connection ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ