Android給通知channel靜音的方法實例
前言
目前各個市場都要求targetsdkversion要不低於26,也就是android 8.0。 相應的影響很多功能,比如通知。
當targetsdkversion >= 26,需要為通知添加channel,如
manager = (NotificationManager) BaseApp.getAppContext() .getSystemService(Context.NOTIFICATION_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel("update", "update", NotificationManager.IMPORTANCE_DEFAULT); manager.createNotificationChannel(channel); } builder = new NotificationCompat.Builder(BaseApp.getAppContext(), "update");
首先要新建一個NotificationChannel,並調用NotificationManager的createNotificationChannel啟用該通道。
然後在創建buidler的時候設置同樣的channelid即可。
靜音
那麼如果想讓通知靜音怎麼處理?
- 可以在channel上設置,
setSound(null, null)
。註意如果已經安裝且這個channel已經存在,再覆蓋安裝不能生效,需要卸載重裝。 - 也可以對builder進行設置,
setOnlyAlertOnce(true)
。註意這個並不是完全靜音,而是讓這個通知隻響一次,比如顯示下載進度時,就不會一直響。
manager = (NotificationManager) BaseApp.getAppContext() .getSystemService(Context.NOTIFICATION_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel("update", "update", NotificationManager.IMPORTANCE_DEFAULT); channel.setSound(null, null); manager.createNotificationChannel(channel); } builder = new NotificationCompat.Builder(BaseApp.getAppContext(), "update"); ... builder.setOnlyAlertOnce(true);
總結
到此這篇關於Android給通知channel靜音的文章就介紹到這瞭,更多相關Android給通知channel靜音內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Android 各版本兼容性適配詳解
- Android Studio實現幀動畫
- Android多渠道打包神器ProductFlavor詳解
- Android11及以上文件讀寫權限申請詳細介紹
- Android畫中畫窗口開啟方法