一.使用service來在後臺常駐,好比,播放音樂、在activity中使用MediaPlay固然也能夠直接播放音樂,程序退出了也能夠繼續播放,但爲何使用service呢?由於service 存活能力強,能夠長時間運行。android
二.提升service的存活能力。這裏先說一下進程的優先級:前臺進程>可見進程>服務進程>後臺進程>空進程。.net
1.把服務設置成前臺服務,這個功能要求發送一個通知顯示在通知欄上面code
/** \* 將服務調至前臺,提升優先級,減小服務被殺死的可能性 \* [@param](http://my.oschina.net/u/2303379) startId */ private void setForeground(int startId) { Notification notification = new Notification(); startForeground(startId, notification); } //取消服務發出的通知 musicService.stopForeground(true);
2.在Manifest裏面 intentfilter 設置優先級 1000,最高的進程
好比it
<service android:name="cn.com.kuting.ktingservice.KtingMusicService" > <intent-filter android:priority="1000"></intent-filter> </service>
3.雙進程保活,互相監聽,掛了重啓,比較噁心。
4.監聽廣播或者推送,服務若是掛了就去重啓服務。 5.還有一些一像素,播放無聲音樂的方法。io