android之狀態列提示

月盡天明發表於2012-02-17

      當有未接電話或者簡訊的時候,android手機上的頂部狀態列就會出現提示。

android平臺專門提供餓了NotificationManager來管理狀態列資訊,提供Notification來處理這些資訊。

首先通過getSystemService方法得到NotificationManager物件;

然後通過notify方法來執行一個Motification快訊。

 

下面是一個demo:

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class NotificationActivity extends Activity {
 /** Called when the activity is first created. */
 private Button m_Button1;
 // 宣告通知管理器
 private NotificationManager notificationManager = null;
 private Intent intent = null;
 private PendingIntent pendingIntent = null;
 // 宣告Notification物件
 private Notification notification = null;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  // 初始化NotificationManager物件
  notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
  // 獲得Button
  m_Button1 = (Button) findViewById(R.id.button1);
    // 點選通知時轉移內容
  intent = new Intent(getApplicationContext(), Activity02.class);
  // 主要設定點選通知的時顯示內容的類
  pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0,
    intent, 0);
  // 構造Notification物件
  notification = new Notification();
  m_Button1.setOnClickListener(new OnClickListener() {

   public void onClick(View arg0) {
    // 設定通知在狀態列顯示的圖示
    notification.icon = R.drawable.ic_launcher;
    // 當我們點選通知時顯示的內容
    notification.tickerText = "Button1通知內容。。";
    // 通知時發出的聲音
    notification.defaults = Notification.DEFAULT_SOUND;
    // 設定同時顯示的引數
    notification.setLatestEventInfo(getApplicationContext(),
      "Button1", "Button01的通知", pendingIntent);
    // 可以理解為執行這個通知
    notificationManager.notify(0, notification);
   }
  });

 }
}

 

main.xml就不用寫了!很簡單。就是一個button和一個TextView

main2.xml中只有一個TextView用來顯示一段string

所以Activity2中只有一個TextView

 

功能說明:點選NotificationActivity 中的Notification之後跳轉到Activity2中,並顯示main2中的內容。

不要忘了在AndroidManifest中註冊Activity2

 

 

 

相關文章