日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android通知欄前臺服務的實現

瀏覽:35日期:2022-09-25 09:15:14

一、前臺服務的簡單介紹

前臺服務是那些被認為用戶知道且在系統內存不足的時候不允許系統殺死的服務。前臺服務必須給狀態欄提供一個通知,它被放到正在運行(Ongoing)標題之下——這就意味著通知只有在這個服務被終止或從前臺主動移除通知后才能被解除。

最常見的表現形式就是音樂播放服務,應用程序后臺運行時,用戶可以通過通知欄,知道當前播放內容,并進行暫停、繼續、切歌等相關操作。

二、為什么使用前臺服務

后臺運行的Service系統優先級相對較低,當系統內存不足時,在后臺運行的Service就有可能被回收,為了保持后臺服務的正常運行及相關操作,可以選擇將需要保持運行的Service設置為前臺服務,從而使APP長時間處于后臺或者關閉(進程未被清理)時,服務能夠保持工作。

三、前臺服務的詳細使用

創建服務內容,如下(四大組件不要忘記清單文件進行注冊,否則啟動會找不到服務);

public class ForegroundService extends Service { private static final String TAG = ForegroundService.class.getSimpleName(); @Override public void onCreate() { super.onCreate(); Log.e(TAG, 'onCreate'); } @Nullable @Override public IBinder onBind(Intent intent) { Log.e(TAG, 'onBind'); return null; } @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.e(TAG, 'onStartCommand'); return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() { Log.e(TAG, 'onDestroy'); super.onDestroy(); } }

創建服務通知內容,例如音樂播放,藍牙設備正在連接等:

/** * 創建服務通知 */private Notification createForegroundNotification() { NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); // 唯一的通知通道的id. String notificationChannelId = 'notification_channel_id_01'; // Android8.0以上的系統,新建消息通道 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { //用戶可見的通道名稱 String channelName = 'Foreground Service Notification'; //通道的重要程度 int importance = NotificationManager.IMPORTANCE_HIGH; NotificationChannel notificationChannel = new NotificationChannel(notificationChannelId, channelName, importance); notificationChannel.setDescription('Channel description'); //LED燈 notificationChannel.enableLights(true); notificationChannel.setLightColor(Color.RED); //震動 notificationChannel.setVibrationPattern(new long[]{0, 1000, 500, 1000}); notificationChannel.enableVibration(true); if (notificationManager != null) { notificationManager.createNotificationChannel(notificationChannel); } } NotificationCompat.Builder builder = new NotificationCompat.Builder(this, notificationChannelId); //通知小圖標 builder.setSmallIcon(R.drawable.ic_launcher); //通知標題 builder.setContentTitle('ContentTitle'); //通知內容 builder.setContentText('ContentText'); //設定通知顯示的時間 builder.setWhen(System.currentTimeMillis()); //設定啟動的內容 Intent activityIntent = new Intent(this, NotificationActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, activityIntent, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(pendingIntent); //創建通知并返回 return builder.build();}

啟動服務時,創建通知:

@Overridepublic void onCreate() { super.onCreate(); Log.e(TAG, 'onCreate'); // 獲取服務通知 Notification notification = createForegroundNotification(); //將服務置于啟動狀態 ,NOTIFICATION_ID指的是創建的通知的ID startForeground(NOTIFICATION_ID, notification);}

停止服務時,移除通知:

@Overridepublic void onDestroy() { Log.e(TAG, 'onDestroy'); // 標記服務關閉 ForegroundService.serviceIsLive = false; // 移除通知 stopForeground(true); super.onDestroy();}

判斷服務是否啟動及獲取傳遞信息:

@Overridepublic int onStartCommand(Intent intent, int flags, int startId) { Log.e(TAG, 'onStartCommand'); // 標記服務啟動 ForegroundService.serviceIsLive = true; // 數據獲取 String data = intent.getStringExtra('Foreground'); Toast.makeText(this, data, Toast.LENGTH_SHORT).show(); return super.onStartCommand(intent, flags, startId);}

以上就是前臺服務的創建過程,相關注釋已經很明白了,具體使用可以查看文末的Demo。

服務創建完畢,接下來就可以進行服務的啟動了,啟動前不要忘記在清單文件中進行前臺服務權限的添加:

<uses-permission android:name='android.permission.FOREGROUND_SERVICE' />

服務的啟動和停止

//啟動服務if (!ForegroundService.serviceIsLive) { // Android 8.0使用startForegroundService在前臺啟動新服務 mForegroundService = new Intent(this, ForegroundService.class); mForegroundService.putExtra('Foreground', 'This is a foreground service.'); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { startForegroundService(mForegroundService); } else { startService(mForegroundService); }} else { Toast.makeText(this, '前臺服務正在運行中...', Toast.LENGTH_SHORT).show();}

//停止服務mForegroundService = new Intent(this, ForegroundService.class);stopService(mForegroundService);

關于前臺服務的介紹及使用就到這里了,相關使用已上傳至Github開發記錄,歡迎點擊查閱及Star,我也會繼續補充其它有用的知識及例子在項目上。

到此這篇關于Android通知欄前臺服務的實現的文章就介紹到這了,更多相關Android 通知欄前臺內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国内精品伊人| 国产偷自视频区视频一区二区| 久久免费黄色| 日本不卡视频一二三区| 亚洲尤物在线| 日韩福利视频导航| 欧美亚洲精品在线| 欧美日韩在线播放视频| 久久97久久97精品免视看秋霞| 欧美日韩1区| 欧美精品1区| 国产成人在线中文字幕| 国产精品99在线观看| 成人影视亚洲图片在线| 日韩久久电影| 男人操女人的视频在线观看欧美| 中文字幕中文字幕精品| 欧美男人天堂| 久久麻豆视频| 中文在线资源| 欧美日韩国产传媒| 视频一区在线播放| 久久国际精品| 国产a久久精品一区二区三区| 美女av在线免费看| 亚洲人成在线网站| 激情丁香综合| 在线看片一区| 国产欧美88| 久久青青视频| 亚洲神马久久| 欧美在线不卡| 国产资源在线观看入口av| 亚洲日本网址| 日韩精品一卡二卡三卡四卡无卡| 911亚洲精品| 国产资源在线观看入口av| 99在线|亚洲一区二区| 日韩成人午夜精品| 日韩黄色大片网站| 中文字幕亚洲在线观看| 乱一区二区av| 国产精品日韩久久久| 国产欧美日韩精品高清二区综合区 | 免费在线亚洲欧美| 欧美精品高清| 亚洲精品综合| 国产不卡一区| 一二三区精品| 91亚洲成人| 亚洲精品亚洲人成在线观看| 97精品视频在线看| 日本成人在线一区| 136国产福利精品导航网址| 97久久亚洲| 午夜欧美精品| 日韩精品亚洲aⅴ在线影院| 日韩在线看片| 日韩1区2区日韩1区2区| 日韩欧美视频专区| 日韩1区2区3区| 久久国产日本精品| 国产精品久久久久久久久久齐齐| 黑丝美女一区二区| 久久一区国产| 五月国产精品| 欧美高清一区| 精品高清久久| 亚洲另类av| 三上悠亚国产精品一区二区三区| 日韩国产精品久久久| 欧美成人基地 | 色吊丝一区二区| 日韩动漫一区| 最新日韩av| 蜜桃久久精品一区二区| 日韩欧美不卡| 久久精品国产福利| 日韩激情网站| 老鸭窝毛片一区二区三区| 国产精品毛片一区二区在线看| 日韩av一区二区三区四区| 久久中文亚洲字幕| 成人在线视频中文字幕| 国产精品网在线观看| 午夜久久av | 国产亚洲一区二区手机在线观看 | 久久久久久婷| 欧美影院精品| 免费成人在线视频观看| 日韩一区二区三区在线免费观看| 久久一区亚洲| 国产探花在线精品| 亚洲另类av| 喷白浆一区二区| 性欧美69xoxoxoxo| 久久亚洲成人| 久久久久久美女精品| 久久久久久久欧美精品| 日本一区免费网站| 另类国产ts人妖高潮视频| 久久精品二区三区| 欧美xxxx中国| 91偷拍一区二区三区精品| 奇米亚洲欧美| 亚洲精品高潮| 蜜桃视频一区二区| 久久亚洲不卡| 日本欧美在线看| 老司机精品久久| 久久亚洲不卡| 免费不卡在线观看| 丝袜a∨在线一区二区三区不卡| 激情综合自拍| 日韩中文影院| 久久国产中文字幕| 欧美国产91| 国产精品毛片| 日韩在线一区二区| 亚洲区国产区| 日韩高清不卡在线| 国产视频网站一区二区三区| 日韩不卡手机在线v区| 欧美一级二区| 欧美日韩一区二区国产| 国产乱子精品一区二区在线观看 | 另类欧美日韩国产在线| 国产麻豆精品久久| 国产精品任我爽爆在线播放| 国产精品一区二区av日韩在线| 国产精品国码视频| 激情综合五月| 久久国产电影| 国产精品免费看| 亚洲乱码视频| 国产日韩免费| 97视频热人人精品免费| 136国产福利精品导航网址| aa国产精品| 日韩av资源网| 国产一区二区三区久久| 日韩理论片av| 午夜电影亚洲| 日韩区一区二| 精品一区视频| 99精品国产一区二区三区| 在线视频亚洲| 日韩av中文字幕一区二区三区| 久久99影视| 天堂中文av在线资源库| 亚洲精品中文字幕乱码| 午夜亚洲福利| 久久伊人亚洲| 1000部精品久久久久久久久| 男人的天堂久久精品| 国产精品黄色| 亚洲高清久久| 亚洲aⅴ网站| 久久精品国产精品亚洲毛片| 久久九九电影| 日韩久久99| 国产成人精品福利| 国产亚洲高清视频| 国产精品入口久久| 亚洲香蕉网站| 欧美日一区二区三区在线观看国产免| 国产一区福利| 日韩在线观看一区二区| 国产极品模特精品一二| 久久国产婷婷国产香蕉| 日本免费一区二区三区四区| 久久午夜影视| 久久精品亚洲| 99香蕉国产精品偷在线观看| 国产精品网址| 激情91久久| 精品一区二区三区亚洲| 国产模特精品视频久久久久| 欧美黄色一区| 日韩一区二区免费看| 欧美黄页在线免费观看| 99视频精品| 精品国产91| 一区二区三区午夜视频| 久久亚洲资源中文字| 日韩制服丝袜先锋影音| 水蜜桃久久夜色精品一区| 99在线观看免费视频精品观看| 欧美国产先锋| 亚洲一区免费| 91视频久久| 日韩精品91亚洲二区在线观看| 99精品视频在线| 国产精品午夜av| 久久国产高清| 日本韩国欧美超级黄在线观看| 日本成人中文字幕| 亚洲黄色在线| 国产成人精品一区二区三区在线| 亚洲深夜福利在线观看|