使用service播放sdcard中的一首歌曲,并在service中通過廣播broadcast通知Activity更新界面。下面三個最終的圖分別是:初始化時,播放時,暫停時。
界面是兩個按鈕,采用LinearLayout布局。代碼如下:
1.主Activity中,有四部分:onCreate()方法、onDestroy()方法、BroadcastReceiver的一個類updateUIReceiver、和按鈕事件處理方法clickHandl()。
在onCreate()方法中主要是注冊一個廣播。注意在onCreate()里注冊,記得在onDestroy()方法里解除注冊。
在onDestroy()方法里解除注冊,不然退出時會報異常。
這里的廣播類是在Activity里面定義的(也可以作為一個單獨的類來寫)。
按鈕處理事件
2.在Service里,主要有onStart()、onDestroy()和sendBC4UpdateUI()幾個方法。
先定義好下面這些對象
在onStart()方法中,通過用mediaPlayer.isPlaying()方法來判斷當前音樂是在播放還是暫停,并利用廣播傳遞相應的值給Activity用以更新界面。
在onDestroy()方法中,要release掉mediaPlayer。
而在sendBC4UpdateUI()方法里,就是發送廣播了。
3.最后,manifest.xml注冊如下。
以后可以通過改進做成一個mp3播放器。
轉自: http://www.cnblogs.com/giuz/archive/2010/10/31/1865470.html
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
