Notification進階技巧,notification技巧

來源:互聯網
上載者:User

Notification進階技巧,notification技巧

  • 觀察Notification這個類,你會發現裡面還有很多我們沒有使用過的屬性。先來看看sound這個屬性吧,它可以在通知發出的時候播放一段音頻,這樣就能夠更好地告知使用者有通知到來。sound 這個屬性是一個 Uri 對象,所以在指定音頻檔案的時候還需要先擷取到音頻檔案對應的 URI。比如說,我們手機/system/media/audio/ringtones 目錄下有一個 Basic_tone.ogg音頻檔案,那麼在代碼中這樣就可以這樣指定:
                Uri soundUri = Uri.fromFile(new File("/system/media/audio/ringtones/Basic_tone.ogg"));                notification.sound = soundUri; 
  • 除了允許播放音頻外,我們還可以在通知到來的時候讓手機進行震動,使用的是 vibrate這個屬性。它是一個長整型的數組,用於設定手機靜止和震動的時間長度,以毫秒為單位。下標為 0 的值表示手機靜止的時間長度,下標為 1 的值表示手機震動的時間長度,下標為 2 的值又表示手機靜止的時間長度,以此類推。所以,如果想要讓手機在通知到來的時候立刻震動 1 秒,然後靜止 1 秒,再震動 1 秒,代碼就可以寫成:
                long[] vibrates = {0, 1000, 1000, 1000};                notification.vibrate = vibrates;          不過,想要控制手機震動還需要聲明許可權的。因此,我們還得編輯 AndroidManifest.xml檔案,加入如下聲明:  <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.example.notificationtest"     android:versionCode="1"     android:versionName="1.0" >     ……     <uses-permission android:name="android.permission.VIBRATE" />     …… </manifest>
  • 現在的手機基本上都會前置一個 LED 燈,當有未接電話或未讀簡訊,而此時手機又處於鎖屏狀態時,LED燈就會不停地閃爍,提醒使用者去查看。我們可以使用ledARGB、ledOnMS、ledOffMS 以及 flags 這幾個屬性來實現這種效果ledARGB 用於控制 LED 燈的顏色,一般有紅綠藍三種顏色可選。ledOnMS 用於指定 LED 燈亮起的時間長度,以毫秒為單位。ledOffMS用於指定 LED 燈暗去的時間長度,也是以毫秒為單位。flags 可用於指定通知的一些行為,其中就包括顯示 LED 燈這一選項。所以,當通知到來時,如果想要實現 LED 燈以綠色的燈光一閃一閃的效果,就可以寫成:
                notification.ledARGB = Color.GREEN;                notification.ledOnMS = 1000;                notification.ledOffMS = 1000;                notification.flags = Notification.FLAG_SHOW_LIGHTS;           當然,如果你不想進行那麼多繁雜的設定,也可以直接使用通知的預設效果,它會根據當前手機的環境來決定播放什麼鈴聲,以及如何震動,寫法如下:                notification.defaults = Notification.DEFAULT_ALL;           注意,以上所涉及的這些進階技巧都要在手機上運行才能看得到效果,模擬器是無法表現出震動、以及 LED 燈閃爍等功能的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.