Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android基礎教程之——Android狀態欄提醒(Notification,NotificationManager)的使用

Android基礎教程之——Android狀態欄提醒(Notification,NotificationManager)的使用

編輯:Android開發實例

大家好今天簡單講一下Android狀態欄提醒,這個在開發中也會經常使用,當我們插上USB會有狀態欄提醒,來短信時也會有狀態欄的提醒。

而在Android中有提醒功能的也可以用AlertDialog,但是我們要審重的使用,因為當使用AlertDialog 的時候,用戶正在進行的操作將會被打斷

因為當前焦點被AlertDialog得到。我們可以想像一下,當用戶打游戲正爽的時候,這時候來了一條短信。如果這時候短信用AlertDialog提醒,用戶必須先去處理這條提醒,從而才能繼續游戲。用戶可能會活活被氣死。而使用Notification就不會帶來這些麻煩事,用戶完全可以打完游戲再去看這條短信。所以在開發中應根據實際需求,選擇合適的控件。

好了我今天又簡單寫了一個Demo, 教大家如何使用Notification,大致分以下幾個步驟:

第一步:新建一個Android工程命名為NotificationDemo.

第二步:修改main.xml代碼如下:

 

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:orientation="vertical" 
  4.     android:layout_width="fill_parent" 
  5.     android:layout_height="fill_parent" 
  6.     > 
  7. <TextView    
  8.     android:layout_width="fill_parent"   
  9.     android:layout_height="wrap_content"   
  10.     android:text="Welcome to Mr Wei's blog" 
  11.     /> 
  12. <Button 
  13.     android:id="@+id/showButton" 
  14.     android:layout_width="fill_parent"   
  15.     android:layout_height="wrap_content" 
  16.     android:text="showNotification" 
  17. /> 
  18. <Button 
  19.     android:id="@+id/cancelButton" 
  20.     android:layout_width="fill_parent"   
  21.     android:layout_height="wrap_content" 
  22.     android:text="cancelNotification" 
  23. /> 
  24. </LinearLayout> 

第三步:修改NotificationDemo.java代碼如下:

 

  1. package com.tutor.notification;  
  2. import android.app.Activity;  
  3. import android.app.Notification;  
  4. import android.app.NotificationManager;  
  5. import android.app.PendingIntent;  
  6. import android.content.Context;  
  7. import android.content.Intent;  
  8. import android.os.Bundle;  
  9. import android.view.View;  
  10. import android.view.View.OnClickListener;  
  11. import android.widget.Button;  
  12. public class NotificationDemo extends Activity implements OnClickListener{  
  13.       
  14.     private Context mContext;  
  15.     private Button showButton,cancelButton;  
  16.     private Notification mNotification;  
  17.     private NotificationManager mNotificationManager;  
  18.     private final static int NOTIFICATION_ID = 0x0001;  
  19.       
  20.     @Override 
  21.     public void onCreate(Bundle savedInstanceState) {  
  22.         super.onCreate(savedInstanceState);  
  23.         setContentView(R.layout.main);   
  24.           
  25.         setupViews();         
  26.     }  
  27.     //這裡是初始化一些操作,可以看到onCreate()方法裡代碼非常簡潔。  
  28.     public void setupViews(){  
  29.            mContext = NotificationDemo.this;  
  30.            showButton = (Button)findViewById(R.id.showButton);  
  31.            cancelButton = (Button)findViewById(R.id.cancelButton);  
  32.              
  33.            mNotification = new Notification(R.drawable.icon,"This is a notification.",System.currentTimeMillis());  
  34.            //將使用默認的聲音來提醒用戶  
  35.            mNotification.defaults = Notification.DEFAULT_SOUND;  
  36.            mNotificationManager = (NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);  
  37.              
  38.             
  39.            showButton.setOnClickListener(this);  
  40.            cancelButton.setOnClickListener(this);  
  41.     }  
  42.     //按鈕點擊事件響應  
  43.     public void onClick(View v) {  
  44.           
  45.         if(v == showButton){  
  46.             Intent mIntent = new Intent(mContext,NotificationDemo.class);  
  47.             //這裡需要設置Intent.FLAG_ACTIVITY_NEW_TASK屬性  
  48.             mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);      
  49.             PendingIntent mContentIntent =PendingIntent.getActivity(mContext,0, mIntent, 0);  
  50.             //這裡必需要用setLatestEventInfo(上下文,標題,內容,PendingIntent)不然會報錯.  
  51.             mNotification.setLatestEventInfo(mContext, "10086", "您的當前話費不足,請充值.哈哈~", mContentIntent);  
  52.             //這裡發送通知(消息ID,通知對象)  
  53.             mNotificationManager.notify(NOTIFICATION_ID, mNotification);     
  54.         }else if(v == cancelButton){  
  55.             //取消只要把通知ID傳過來就OK了.  
  56.             mNotificationManager.cancel(NOTIFICATION_ID);  
  57.         }  
  58.     }  

第四步:運行Android工程,效果如下圖所示:

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved