android 8.0 新特性:通知渠道
由於Google的限制,要求在2018年10月之前 targetSdkVersion 必須在26以上,更改過之後發現在androd 8手機上不再推送通知,檢視android 8.0官方文件發現,添加了通知渠道新特性,並要求targetSdkVersion 26以上的android 8手機必須實現通知渠道
通知渠道可以使用者自定義,並在使用者手機系統設定裡面修改,通知渠道的引入可以讓使用者對通知的優先順序有了更好的體驗,開發者定義兩個渠道 product_01, product_02,
其中product_01 重要性為高,每次推送通知發出聲音
product_02 重要性為緊急,每次推送通知發出聲音和彈出視窗
假設一個場景:針對微信使用者,好友訊息採用product_01通知渠道,群訊息採用product_02通知渠道,這樣一來,如果好友發來訊息,就會發出聲音,但不彈出視窗;如果是群訊息,不但發出訊息還會彈出視窗;然後過一段時間你覺得好友訊息比較重要,群訊息相對不太重要,想改一下通知的優先順序,於是,在系統設定裡面找到通知,把微信的product_01改為重要性緊急,把product_02改為重要性高,如此操作以後,如果好友發來訊息,不但發出聲音而且彈出視窗;如果是群訊息,只能發出聲音但沒有彈窗
具體實現
private void sendNotification() { NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "id_product_01") .setContentText("Hello World") .setSmallIcon(R.drawable.ic_launcher_foreground) .setContentTitle("id") .setChannelId("id_product_01"); //新增返回棧,使按返回鍵後,不會退出,而是跳轉到主介面 TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); stackBuilder.addParentStack(NotificationJumpActivity.class); Intent intentActivity = new Intent(this, NotificationJumpActivity.class); stackBuilder.addNextIntent(intentActivity); PendingIntent pendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(pendingIntent); NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){ String id = "id_product_01"; CharSequence name = "Product_01"; String description = "Notifications regarding our products"; int importance = NotificationManager.IMPORTANCE_HIGH; NotificationChannel mChannel = new NotificationChannel(id, name, importance); mChannel.setDescription(description); mChannel.enableLights(true); mChannel.setLightColor(Color.RED); mChannel.enableVibration(true); notificationManager.createNotificationChannel(mChannel); } notificationManager.notify(1, builder.build()); }
注意,channelId為唯一識別符號,和渠道是一對一的關係,一旦建立過 channelId為 id_product_01 的渠道就不會再進行建立
刪除渠道通過
notificationManager.deleteNotificationChannel("id_product_01"); 其中引數為 channelId
相關推薦
android 8.0 新特性:通知渠道
由於Google的限制,要求在2018年10月之前 targetSdkVersion 必須在26以上,更改過之後發現在androd 8手機上不再推送通知,檢視android 8.0官方文件發現,添加了通知渠道新特性,並要求targetSdkVersion 26以上的and
Android 8.0新特性及開發指南
一、通知渠道 — Notification Channels 通知渠道是由應用自行定義的通知內容類別,藉助渠道,開發者可以讓使用者對不同種類的通知進行精細控制,使用者可以單獨攔截或更改每個渠道的行為,而不是統一管理應用的所有通知。 開發指南 建立通知渠道的步驟: 1、建立
Android 8.0 新特性了
背景介紹 Android O 是 Google 釋出的第14個新系統版本。 那備受開發者關注的 Android O 有哪些新特性,開發者需要關注哪些問題呢?騰訊雲樂固團隊結合相關文件對此進行了分析總結,我們一起來看看 Android O 的新特性及開發指南。
Android O / Android 8.0 新特性及開發指南
谷歌2017 I/O開發者大會今年將於5月17-19日在美國加州舉辦。大會將跟往年一樣釋出最新的 Android 系統,今年為 Android 8.0。谷歌在今年3 月21日釋出 Android 新系統開發者預覽版時已給新系統取名為 Android O。自2008 年釋出
開發者必看|Android 8.0 新特性及開發指南
背景介紹 谷歌2017 I/O開發者大會今年將於5月17-19日在美國加州舉辦。大會將跟往年一樣釋出最新的 Android 系統,今年為 Android 8.0。谷歌在今年3 月21日釋出 Android 新系統開發者預覽版時已給新系統取名為 Android O。自2008
是時候瞭解一下Android 8.0 新特性了
背景介紹 谷歌2017 I/O開發者大會今年將於5月17-19日在美國加州舉辦。大會將跟往年一樣釋出最新的 Android 系統,今年為 Android 8.0。谷歌在今年3 月21日釋出 Android 新系統開發者預覽版時已給新系統取名為 Android
Android 8.0 新特性及開發指南
背景介紹 谷歌2017I/O開發者大會今年將於5月17-19日在美國加州舉辦。大會將跟往年一樣釋出最新的 Android 系統,今年為 Android 8.0。谷歌在今年3 月21日釋出 Android 新系統開發者預覽版時已給新系統取名為 Android O。自200
Android 8.0新特性適配測試報告來啦!
WeTest 導讀谷歌2017 I/O開發者大會上釋出了Android 8.0的正式版, 其官方代號為Oreo(奧利奧)。網上關於Android8.0新功能特性的介紹已鋪天蓋地,新功能特性會對程式應用帶來哪些影響呢,我們從相容性角度來看下這部分變化。 測試版本:Android 8.0 安裝啟動測試 A
Android O 8.0新特性(四) 官方Demo
主要採用的google翻譯,不當之處,還望指正.Code Samples 程式碼示例Use the code samples below to learn about Android 8.0 (API level 26) capabilities and APIs. To d
C# 7.0 新特性:本地方法
性能 erro 區別 visual html 修飾 之間 style ria C# 7.0:本地方法 VS 2017 的 C# 7.0 中引入了本地方法,本地方法是一種語法糖,允許我們在方法內定義本地方法。更加類似於函數式語言,但是,本質上還是基於面向對象實現的。 1.
MySQL 8.0新特性
MySQL8.0新特性一、MySQL 8.0中添加的功能1、新的系統字典表 整合了存儲有關數據庫對象信息的事務數據字典,所有的元數據都用InnoDB引擎進行存儲2、支持DDL 原子操作 InnoDB表的DDL支持事務完整性,要麽成功要麽回滾,將DDL操作回滾日誌寫入到data dictionary
MySQL8.0 新特性:Partial Update of LOB Column
sql摘要: MySQL8.0對json進行了比較完善的支持, 我們知道json具有比較特殊的存儲格式,通常存在多個key value鍵值對,對於類似更新操作通常不會更新整個json列,而是某些鍵值。 對於某些復雜的應用,json列的數據可能會變的非常龐大,這時候一個突出的問題是:innodb並不識別json
Android 9.0新特性
進入 估算 電話 定制化 看電影 時間 體驗 cati adapt 1、全面屏支持,Android P加入了對劉海屏的支持,谷歌稱之為凹口屏幕(display with a cutout)。借助最新的提供的DisplayCutout類,開發者可以找到非功能區域的位置和形狀,
[翻譯] C# 8.0 新特性
原文: [翻譯] C# 8.0 新特性 原文: Building C# 8.0 [譯註:原文主標題如此,但內容大部分為新特性介紹,所以意譯標題為 "C# 8.0 新特性"] C# 的下一個主要版本是 8.0。我們已經為它工作了很長一段時間,即使我們構建併發布了次要版本 C# 7.1, 7.2 和 7.3,
MySQL 8.0新特性--CTE(二)
上一篇介紹了CTE的基本用法,參考MySQL 8.0新特性--CTE(一),本篇再來介紹一下CTE Recurive遞迴。 1、什麼是CTE Recurive? A recursive common table expression is one having a subquery that refe
MySQL 8.0新特性之Windows Function
MySQL8.0開始像Oracle一樣支援視窗函數了,先來跑個SQL,感受一下視窗函式的魅力。 mysql> create table numbers(val int); mysql> insert into numb
MySQL 8.0新特性--invisible index
invisible index特點 預設建立的索引都是visible,如果需要invisible索引建立的時候需要指定invisible引數。 預設無法使用invisible index索引,需要開啟引數optimizer_switch='use_invisible_indexes=on'才能使用;
MySQL 8.0新特性--Descending Indexes(六)
Descending Indexes降序索引 降序索引主要是用來減少排序,去除filesort的。 MySQL支援降序索引:索引定義中的DESC不再被忽略,而是按降序儲存鍵值。以前,索引可以以相反的順序掃描,但會影響效能。可以按前向順序掃描降序索引,效率更高。當最有效的掃描順序混合了某些列的升序和其他
MySQL 8.0新特性--skip scan range access method(七)
先來個示例: mysql> CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY(f1,&nbs
MySQL 8.0新特性之原子DDL
文章來源:愛可生雲資料庫 簡介 MySQL8.0 開始支援原⼦ DDL(atomic DDL),資料字典的更新,儲存引擎操作,寫⼆進位制日誌結合成了一個事務。在沒有原⼦DDL之前,DROP TABLE t