【轉】NotificationCopat.Builder全部設置


1.方法:setContentTitle(CharSequence title)
     功能:設置通知欄標題。
     例子:setContentTitle("測試標題")。
  2.方法:setContentText(CharSequence text)
     功能:設置通知欄顯示內容。
     例子:setContentText("測試內容")。
  3.方法:setContentIntent(PendingIntent intent)
     功能:設置通知欄點擊意圖。
     例子:setContentIntent(PendingIntent.getActivity(this, 1, new Intent(), flags))。
  4.方法:setTicker(CharSequence tickerText)、setTicker(CharSequence tickerText, RemoteViews views)
     功能:設置通知在第一次到達時在狀態欄中顯示的文本。
   注意:5.0及之后沒有效果。
     例子:setTicker("測試通知來啦")。
  5.方法:setWhen(long when)
   功能:通知產生的時間,會在通知欄信息里顯示,一般是系統獲取到的時間。
   例子:setWhen(System.currentTimeMillis())。
  6.方法:setPriority(int pri)
   功能:設置通知優先級。
   例子:setPriority(Notification.PRIORITY_DEFAULT)。
   參數屬性:

Notification.PRIORITY_DEFAULT //默認優先級,用於沒有特殊優先級分類的通知 Notification.PRIORITY_HIGH //高優先級,用於重要的通信內容,例如短消息或者聊天 Notification.PRIORITY_LOW //低優先級,可以通知用戶但又不是很緊急的事件 Notification.PRIORITY_MAX //重要而緊急的通知,通知用戶這個事件是時間上緊迫的或者需要立即處理的 Notification.PRIORITY_MIN //用於后台消息(例如天氣或者位置信息)。最低優先級通知將只在狀態欄顯示圖標,只有用戶下拉通知抽屜才能看到內容。

  7.方法:setNumber(int number)
   功能:設置通知集合的數量。
   例子:setNumber(10)。
  8.方法:setAutoCancel(boolean autoCancel)
   功能:true,當用戶點擊面板就可以讓通知自動取消。
   例子:setAutoCancel(true)。
  9.方法:setOngoing(boolean ongoing)
   功能:true,設置它為一個正在進行的通知,通常表示一個后台任務,用戶積極參與(如播放音樂)或以某種方式正在等待,因此占用設備(如一個文件下載,同步操作,主動網絡連接)。
   例子:setOngoing(false)。
  10.方法:setDefaults(int defaults)
    功能:向通知添加聲音、閃燈和震動效果,最簡單、最一致的方式是使用當前的用戶默認設置,使用defaults屬性,可以組合Notification.DEFAULT_ALL、Notification.DEFAULT_SOUND添加聲音。
    例子:setDefaults(Notification.DEFAULT_VIBRATE)。
    參數屬性:

Notification.DEFAULT_VISIBLE //添加默認震動提醒 需要VIBRATE permission Notification.DEFAULT_SOUND //添加默認聲音提醒 Notification.DEFAULT_LIGHTS //添加默認三色燈提醒 Notification.DEFAULT_ALL //添加默認以上三種全部提醒

  11.方法:setSmallIcon(int icon)
       功能:設置通知的小Icon。
     例子:setSmallIcon(R.mipmap.ic_launcher)。
  12.方法:setCategory(String category)
     功能:設置通知類別。
     例子:setCategory(Notification.CATEGORY_MESSAGE)。
     參數屬性:

復制代碼
Notification.CATEGORY_CALL //呼入(語音或視頻)或類似的同步通信請求。 Notification.CATEGORY_MESSAGE //直接消息(短信、即時消息等)。 Notification.CATEGORY_EMAIL //異步批量消息(電子郵件)。 Notification.CATEGORY_EVENT //日歷事件。 Notification.CATEGORY_PROMO //促銷或廣告。 Notification.CATEGORY_ALARM //鬧鍾或定時器。 Notification.CATEGORY_PROGRESS //長時間后台操作的進展。 Notification.CATEGORY_SOCIAL //社交網絡或共享更新。 Notification.CATEGORY_ERROR //后台操作或者身份驗證狀態出錯。 Notification.CATEGORY_TRANSPORT //回放媒體傳輸控制。 Notification.CATEGORY_SYSTEM //系統或者設備狀態更新,預留給系統使用。 Notification.CATEGORY_SERVICE //運行后台服務的指示。 Notification.CATEGORY_RECOMMENDATION //針對某一事物的具體及時的建議。 Notification.CATEGORY_STATUS //關於設備或者上下文狀態的正在進行的信息。 Notification.CATEGORY_REMINDER //用戶預定提醒。
復制代碼

  13.方法:setColor(@ColorInt int argb)
       功能:設置通知欄顏色。
       例子:setColor(0x667788)。
  14.方法:setContentInfo(CharSequence info)
       功能:在通知的右側設置大文本。
       例子:setContentInfo("大文本")。
  15.方法:setLocalOnly(boolean b)
       功能:設置此通知是否僅與當前設備相關,如果設置為true,通知就不能橋接到其他設備上進行遠程顯示。 
       例子:setLocalOnly(true)。
  16.方法:setVibrate(long[] pattern)
       功能:設置使用震動模式。
       例子:setVibrate(new long[] {0,300,500,700})。延遲0秒,然后震動300ms,再延遲500ms,接着震動700ms。
  17.方法:setUsesChronometer(boolean b)
     功能:設置是否顯示時間計時,電話通知就會使用到。
     例子:setUsesChronometer(true)。
  18.方法:setRemoteInputHistory(CharSequence[] text)
     功能:設置遠程輸入歷史。
     例子:setRemoteInputHistory(new CharSequence[] {"1","2","3"})。
  19.方法:setOnlyAlertOnce(boolean onlyAlertOnce)
     功能:設置僅提醒一次。
     例子:setOnlyAlertOnce(true)。
  20.方法:setLights(@ColorInt int argb, int onMs, int offMs)
     功能:android支持三色燈提醒,這個方法就是設置不同場景下的不同顏色的燈。
     注意:(1)只有在設置了標志符Flags為Notification.FLAG_SHOW_LIGHTS的時候,才支持三色燈提醒。
        (2)這邊的顏色跟設備有關,不是所有的顏色都可以,要看具體設備。
      例子:setLights(Oxff0000ff, 300, 0)

              其中argb表示燈光顏色,onMs表示亮持續時間,offMs表示暗的時間。
              還有一種寫法是:

Notification notify = mBuilder.build();
notify.flags = Notification.FLAG_SHOW_LIGHTS; notify.ledARGB = 0xff0000ff; notify.ledOnMS = 300; notify.ledOffMs = 300;

  21.方法:setSound(Uri sound)、setSound(Uri sound, int streamType)、setSound(Uri sound, AudioAttributes audioAttributes)
     功能:設置默認或者自定義的鈴聲來提醒。
     例子:setDefaults(Notification.DEFAULT_SOUND);//獲取默認鈴聲
          setSound(Uti.parse("file:///sdcard/xx/xx.mp3"));//獲取自定義鈴聲
        setSound(Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URL, "5"));//獲取Android多媒體庫內的鈴聲
      其中streamType指的鈴聲的使用流。
     參數屬性:

復制代碼
AudioManager.STREAM_MUSIC //用於音樂播放的音頻流 AudioManager.STREAM_RING //用於電話鈴聲的音頻流 AudioManager.STREAM_VOICE_CALL //用於電話呼叫的音頻流 AudioManager.STREAM_SYSTEM //用於系統聲音的音頻流 AudioManager.STREAM_ALARM //用於警報的音頻流 AudioManager.STREAM_NOTIFICATION //用於通知的音頻流 AudioManager.STREAM_BLUETOOTH_SCO //藍牙已經連接的電話呼叫的音頻流 AudioManager.STREAM_SYSTEM_ENFORCED //在特定國家強制系統聲音的音頻流(比如日本的照相機) AudioManager.STREAM_DTMF //用於DTMF(雙音多頻電話)音調的音頻流 AudioManager.STREAM_TTS //TTS(文本到語音)的音頻流
復制代碼

  22.方法:setProgress(int max, int progress, boolean indeterminate)
     功能:設置帶進度條的通知,可以在下載中使用。
     注意:此方法在4.0及以后版本才有用,如果為早期版本,需要自定義通知布局,其中包含ProgressBar視圖。
     例子:setProgress(100, 66, true)。
        其中max表示精度條最大數值,progress表示當前進度,indeterminate表示進度是否不確定,true為不確定,false為確定。
        如果為確定的進度條,調用setProgress(max, progress, false)來設置通知,在更新進度的時候在此發起通知更新progress,並且在下載完成后要移除進度條,通過調用setProgress(0,0,false)即可。
        如果為不確定(持續活動)的進度條,這是在處理進度無法准確獲知時顯示活動正在持續,所以調用setProgress(0,0,true),操作結束時,調用setProgress(0,0,false)並更新通知以移除指示條。
  23.方法:build()
     功能:整合所有已設置的選項,返回一個新的Notification對象。
     例子:build()。
  24.方法:setStyle(Style style)
     功能:在構建應用時添加一個豐富的通知樣式。
     例子:setStyle(inboxStyle)
     參數屬性:

BigPictureStyle //用於生成包含大圖像附件的大格式通知的輔助類 BigTextStyle //用於生成包含大量文本的大格式通知的輔助類 MessagingStyle //用於生成大格式通知的輔助類,其中包含任意數量的不同類型的多個來回消息 InboxStyle //用於生成大格式通知的輔助類,其中包含一個(最多5個)字符串列表

  25.方法:addAction(int icon, CharSequence title, PendingIntent intent)、addAction(Notification.Action action)
     功能:向通知添加操作,操作通常與通知的content相連被系統作為按鈕來顯示。在系統的content下方顯示圖片與title,點擊這個圖片或者title就會觸發設置的intent。
     注意:Android 4.1版本及其以上才能使用,之下版本不能使用。
     例子:addAction(R.drawable.icon,"test action",actionPendingIntent)
  26.方法:setContent(RemoteViews views)
     功能:支持使用自定義視圖替代標准的視圖。
     例子:setContent(mRemoteViews)。
  27.方法:setLargeIcon(Bitmap icon)
     功能:設置下拉列表中的圖標(大圖標)
     例子:setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.icon))。
  28.方法:setPublicVersion(Notification n)
     功能:設置安全鎖屏下的通知
     例子:setPublicVersion(publicBuilder.build())。
  29.方法:setDeleteIntent(PendingIntent intent)
     功能:設置通知刪除時的意圖
     例子:setDeleteIntent(deletePendingIntent)。
  30.方法:setExtras(Bundle extras)
     功能:為通知設置數據。
     例子:setExtras(bundle),不太清楚主要用於做什么。
  31.方法:setSubText(CharSequence text)
     功能:在通知模板上設置第三行文本。
     注意:如果使用了setProgress(),就不要使用setSubText()了,它們占據同一個位置。
        如果不提供大格式通知,則此方法沒有效果,第三行文本只出現在展開視圖中。
     例子:setSubText("sub text")。
  32.方法:setFullScreenIntent(PendingIntent intent, boolean highPriority)
     功能:只適用於具有極高優先級的通知,比如電話或者鬧鈴,如果設備被用用於其他東西,請給用戶一個選項關閉它並使用一個正常的通知,因為這個可能會有破壞性。
     例子:setFullScreenIntent(fullScreenIntent, true)。
  33.方法:setGroup(String groupKey)
     功能:設置該通知組的密鑰,即確認為哪一組。
     例子:setGroup(“test_notification”)。
  34.方法:setGroupSummary(boolean isGroupSummary)
     功能:設置是否為一組通知的第一個顯示。
     例子:setGroupSummary(true)。
  35.方法:setSortKey(String sortKey)
     功能:設置針對一個包內的通知進行排序的鍵值,
     例子:setSortKey("sort")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM