Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 跟我學android-Notification

跟我學android-Notification

編輯:關於Android編程

Notification 可以理解為通知的意思,會出現在通知欄,比如來了一條短信   使用 Notification 有以下3個步驟:   1. 創建 NotificationManager的對象   2.為Notification設置屬性   3.使用 NotificationManager 提供的 notify 發送通知       實例:發出一個通知   復制代碼  1     /**  2      * 創建notify  3      */  4     private void createNotify() {  5         // 創建NotificationManager 對象  6         NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);  7         // 創建notifyCation對象  8         Notification notify = new Notification();  9         notify.icon = R.drawable.icon_reply;//設置圖標 10         notify.when = System.currentTimeMillis();//發通知的時間,立即 11         notify.tickerText = "hi,我來了";//提示文字 12         notify.flags = Notification.FLAG_AUTO_CANCEL;//用戶點擊後 自動取消 13         Intent intent = new Intent(this, NextActivity.class); 14         PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 15                 PendingIntent.FLAG_UPDATE_CURRENT); 16         notify.setLatestEventInfo(this, "來消息啦", "一條通知", pIntent); 17         manager.notify(10, notify);//發出通知,10是 通知的id 18     } 復制代碼 這個方法 大家可以設置是 按鈕的事件裡 調用,運行程序後,點擊按鈕 就可以看到通知發送出來了。 布局文件 和相關的代碼 這裡就不在編寫。       PendingIntent 為Intent的包裝,這裡是啟動Intent的描述,PendingIntent.getActivity 返回的PendingIntent表示   此PendingIntent實例中的Intent是用於啟動 Activity 的Intent。   PendingIntent.getActivity的參數依次為:Context,發送者的請求碼(可以填0),用於系統發送的Intent,標志位。   其中 PendingIntent.FLAG_UPDATE_CURRENT  表示如果該描述的PendingIntent已存在,則改變已存在的PendingIntent的Extra數據為新的PendingIntent的Extra數據。    Intent 與 PendingIntent 的區別:   Intent :意圖,即告訴系統我要干什麼,然後系統根據這個Intent做對應的事。如startActivity相當於發送消息,而Intent是消息的內容。   PendingIntent :包裝Intent,Intent 是我們直接使用 startActivity , startService 或 sendBroadcast 啟動某項工作的意圖。   而某些時候,我們並不能直接調用startActivity , startServide 或 sendBroadcast ,而是當程序或系統達到某一條件才發送Intent。   如這裡的Notification,當用戶點擊Notification之後,由系統發出一條Activity 的 Intent 。因此如果我們不用某種方法來告訴系統的話,系統是不知道是使用 startActivity ,   startService 還是 sendBroadcast 來啟動Intent 的(當然還有其他的“描述”),因此這裡便需要PendingIntent。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved