国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android實現(xiàn)Service在前臺運行服務(wù)

2019-12-12 01:35:47
字體:
供稿:網(wǎng)友

前言

在做手機音樂播放器的時候,讓我非常苦惱的一件事就是手機有清理內(nèi)存的軟件,比如百度,360等等,一點擊清理音樂就停止播放了,去后臺查看發(fā)現(xiàn)Service已經(jīng)被停止并重新啟動了,這顯然不是我想要的,我希望音樂能夠在后臺播放,并且自己能控制什么時候退出,不想讓系統(tǒng)給我清理了,就像酷狗一直在通知欄顯示那樣,于是我就知道了在前臺運行的服務(wù)。

實現(xiàn)

我們先看一下結(jié)果圖:

這是運行在通知欄的界面,這樣就是讓服務(wù)在前臺運行,再清理的時候就不會導(dǎo)致服務(wù)被關(guān)閉了。

好了,我們直接上代碼,因為要開啟服務(wù),所以我們必須先要有一個Service的子類,然后在onCreate里面實現(xiàn)它。

MyService.java

public class MyService extends Service { public static final String TAG = "MyService"; @Override public void onCreate() {  super.onCreate();  Notification notification = new Notification(R.drawable.ic_launcher,    "有通知到來", System.currentTimeMillis());  Intent notificationIntent = new Intent(this, MainActivity.class);  PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,    notificationIntent, 0);  notification.setLatestEventInfo(this, "幻聽", "許嵩",    pendingIntent);  startForeground(1, notification); } @Override public int onStartCommand(Intent intent, int flags, int startId) {  return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() {  super.onDestroy(); } @Override public IBinder onBind(Intent intent) {  return null; }}

可以看到,在onCreate方法里面我們得到Notification的一個對象,然后調(diào)用startForeground(1, notification);方法來實現(xiàn)在前臺運行。如果想要退出只需要退出服務(wù)即可。

小結(jié)

在前臺運行服務(wù)是十分有用的,特別是在做播放器開發(fā)的時候,如果只是簡單的清理一下音樂就退出播放了,這是很不能容忍的。

像酷狗一樣,在通知欄有自己Notification的自定義界面,下一篇文章我說明如何自定義Notification的界面。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙井市| 呼图壁县| 滦平县| 石首市| 沈丘县| 富裕县| 偃师市| 通山县| 瑞昌市| 咸宁市| 门源| 兰西县| 龙泉市| 临安市| 铜鼓县| 阜南县| 隆德县| 墨竹工卡县| 惠东县| 崇礼县| 庆安县| 大足县| 繁昌县| 大姚县| 寿光市| 独山县| 安达市| 崇阳县| 黑河市| 邢台县| 永济市| 高阳县| 连山| 平乐县| 双峰县| 如皋市| 万宁市| 盐源县| 策勒县| 洱源县| 云南省|