1. 程式人生 > >Android Notification關閉呼吸燈、震動和聲音

Android Notification關閉呼吸燈、震動和聲音

1. 前言

最近需要實現一個不會開啟呼吸燈、不會震動和沒聲音的通知,查找了很多資料,但沒有一個寫得完整的。東湊湊,西湊湊,自己摸索了幾個小時,找到了一種較可靠的方式。

2. 解決方案

這種方案相容到了Android 8.0,三星、華為和小米手機都有效果。

NotificationManager notificationManager = (NotificationManager) context
        .getSystemService(Context.NOTIFICATION_SERVICE);

Notification.Builder builder = new Notification.Builder(context)
        .setContentTitle(context.getString(R.string.app_name))
        .setContentText("有待辦訊息未讀")
        .setSmallIcon(R.mipmap.ic_launcher)
        .setWhen(System.currentTimeMillis())
        .setDefaults(NotificationCompat.FLAG_ONLY_ALERT_ONCE)
        .setVibrate(new long[]{0})
        .setSound(null);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
         NotificationChannel channel = new NotificationChannel("to-do", "待辦訊息",
                NotificationManager.IMPORTANCE_HIGH);
         channel.enableLights(false);
         channel.enableVibration(false);
         channel.setVibrationPattern(new long[]{0});
         channel.setSound(null, null);
         notificationManager.createNotificationChannel(channel);
         builder.setChannelId("to-do");
}

Notification notification = builder.build();
notificationManager.notify(0, notification);

相關推薦

Android Notification關閉呼吸震動聲音

1. 前言 最近需要實現一個不會開啟呼吸燈、不會震動和沒聲音的通知,查找了很多資料,但沒有一個寫得完整的。東湊湊,西湊湊,自己摸索了幾個小時,找到了一種較可靠的方式。 2. 解決方案 這種方案相容

Android Notification 關閉 取消 震動 關閉取消聲音 Notification進行下載檔案

使用builder 進行設定,我用Notification設定無效: mBuilder.setDefaults(NotificationCompat.FLAG_ONLY_ALERT_ONCE); 我單獨設定下面兩句話,沒有效果,我就去掉了,只用上面那句話就解決了; buil

Android 訊息機制:HandlerMessageQueue Looper

在這篇文章中,我們將會討論 Android 的訊息機制。提到 Handler,有過一些 Android 開發經驗的都應該很清楚它的作用,通常我們使用它來通知主執行緒更新 UI。但是 Handler 需要底層的 MessageQueue 和 Looper 來支援才能運作。這篇文章中,我們將會討論它們三個之間的關

android關機充電呼吸不亮

最近在適配新機型的過程中遇到一個問題,關機後充電呼吸燈不亮. 剛開始遇到這個問題時,一時束手無策,因為對這關機充電的流程根本不清楚.最後查閱資料和同事交流後發現關鍵充電的程式碼在/system/core/healthd目錄下. 知道程式碼在哪裡後首先來看看main函式(healthd.cpp

Android訊息機制(HandlerMessageQueueLooper三者的工作原理)

Android的訊息機制主要是指Handler的執行機制以及Handler所附帶的MessageQueue和Looper的工作過程。messagequeue意思是訊息佇列,它內部儲存一組訊息,有插入和刪除的功能,其實內部是以單鏈表的形式來實現佇列功能的。looper的意思是迴圈,它的主要功能是迴

Android——EditText自定義邊框圓角其常用屬性總結

看下效果圖: 執行步驟: 首先在/res/layout資料夾下建立custom_et_layout.xml佈局檔案,原始碼如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:

Android深入學習之requestLayoutinvalidatepostInvalidate的區別

         Android開發離不開介面的重繪和更新,尤其是自定義控制元件更是經常遇到重繪更新介面的場景,下面具體介紹一下重繪介面幾個方法的區別:         (1)、requestLayout:

細說Android框架設計三劍客MVCMVPMVVM

    最近幾年的移動端開發越來越火,功能越來越強大,處理業務越來越複雜,因此對系統擴充套件性的要求越來越高。而為了更好地進行移動端架構設計,我們最常用的就是MVC和MVP,今天本篇部落格就和大家一起聊一聊這兩種框架設計。 MVC框架 MVC的定義

Android的訊息呼吸閃爍

/** * 建立通知管理類NotificationManager的例項,用來管理通知 */ NotificationManager manager = (NotificationManager) getSystemService(

Android資料庫ORM框架用法原始碼效能比較分析

基本用法 LitePal LitePal是一款開源的Android資料庫框架,它採用了物件關係對映(ORM)的模式,LitePal很“輕”,jar包只有100k不到,使用起來也比較簡單,原始碼地址為Github地址。 首先需要引入lib,可以通過g

淺談Android五大布局——LinearLayoutFrameLayoutAbsoulteLayout

    Android的介面是有佈局和元件協同完成的,佈局好比是建築裡的框架,而元件則相當於建築裡的磚瓦。元件按照佈局的要求依次排列,就組成了使用者所看見的介面。Android的五大布局分別是LinearLayout(線性佈局)、FrameLayout(單幀佈局)、Re

android常用除錯工具fiddlewiresharkandroid studio的配置

Fiddle配置android代理 在wifi的同一個區域網環境的windows主機中安裝fiddler,並且啟動,如本次192.168.3.14 在android手機端配置代理為該主機 還有一種方式通過wireshark抓手機的包通過wireshark抓包 配置手提

Android Notification聲音震動

.com second attribute roc 聲音播放 lis rfc 震動 processor 我們在Android系統發送一條Notification的時候,經常需要通過震動或聲音來提醒用戶。如何為Notification設置聲音和震動了。大致思路有: -

Android Notification權限機制探討

程序執行效率 except hit nes 數組 sdk default 耐心 lean 近期為了在部門內做一次小型的技術分享。深入了解了一下Notification的實現原理。以及android的權限機制。在此做個記錄。文章可能比較長,沒耐心的話就直接看題綱吧。

Android零基礎入門第59節:AnalogClockDigitalClockTextClock時鐘組件

seekbar 授權 微信公眾號 sam checkbox 相對 picker spa tel 原文:Android零基礎入門第59節:AnalogClock、DigitalClock和TextClock時鐘組件 在前面一期,我們學習了DatePicker和TimePi

centos7下關閉防火墻selinux掛載光盤設置ip

mct 防火墻 roo 開機自動掛載 設置 df -h 修改ip oot iso 使用命令修改ip地址的方法:[root@localhost~]#vi /etc/sysconfig/network-scripts/ifcfg-ens33按i可以添加修改內容ONBOOT=&q

Android面試收集錄 電話短信聯系人多媒體技術

stop vid stream isp gpo trac view ephone 多媒體 1.請寫出調用系統撥號界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")

Android TasksActivityStackActivity

最近又在開展一些Android的開發工作,出現了在個別場景下發生的Activity切換不符合預期的情況,於是來溫習一下Android的Tasks、ActivityStack、Activity,以及影響到他們的幾個重要引數launchMode、taskAffinity、IntentFlags &n

Android ListSetMap的介紹使用

一、前言 Android中常用的資料結構包括List、Set和Map這三大類的集合,其中List和Set屬於Collection。List與Set的區別在於List可以存放重複的資料,但是Set不可以。 Map一般為key-value這樣的對於關係,比如常用的HashMap。 And

Android系統的桌面圖示文字——調整字型大小圖示文字間的間隔

一、適當縮小應用圖示名稱的字型大小,請參考我寫的“Launcher3佈局的佈局配置 ”,先確認裝置使用的哪一個profile標籤,然後適當縮小對應的launcher:iconTextSize 二、圖示和文字間的間隔 1、路徑:packages\apps\Launcher3\src\co\