Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android簡易實戰教程--第三十七話《NotifiCation》

Android簡易實戰教程--第三十七話《NotifiCation》

編輯:關於Android編程

通知的使用,無疑是Android系統的亮點之一;就連IOS在5.0開始也引入了類似通知的技巧。可見它的實用性。

今天這個小案例,就學習一下通知的基本使用,API是使用最新的API,4.3以前創建通知的API已經過時。

首先定義個布局:

 


布局很簡單,一個按鈕用於開啟通知,一個用於關閉通知。

 

接著就是通知的業務:

 

package com.example.notification;

import android.app.Activity;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationCompat.Builder;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

	private Button btShow;
	private Button btCancel;
	private NotificationManager manager;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		btShow = (Button) findViewById(R.id.show);
		btCancel = (Button) findViewById(R.id.cancel);
		
		/**獲取通知對象*/
		manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

		btShow.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 展示通知
				showNotificationNewAPI();
			}
		});

		btCancel.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 關閉通知
				cancelNotification();
			}
		});
	}
	
	
	/**新API展示通知*/
	public void showNotificationNewAPI(){
		NotificationCompat.Builder builder = new Builder(getApplicationContext());
		
		//真正的意圖
		Intent intent = new Intent(this, DemoActivity.class);
		//延遲意圖,用於啟動活動、服務、發送廣播等。攜帶真正的意圖對象
		PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
		
		
		builder.setSmallIcon(R.drawable.notification_music_playing)//設置通知顯示的圖標
		.setTicker("ticker")//設置通知剛剛展示時候瞬間展示的通知信息
		.setWhen(System.currentTimeMillis())//設置通知何時出現,System.currentTimeMillis()表示當前時間顯示
		/**以上三種方式必須設置,少一項都不會展示通知*/
		.setOngoing(true)//設置滑動通知不可刪除
		.setContentTitle("這是通知標題")
		.setContentText("我是通知的內容")
		.setContentIntent(pendingIntent);
		
		//開啟通知,第一個參數類似代表該通知的id,標記為1
		manager.notify(1, builder.build());
	}
	/**取消通知*/
	public void cancelNotification(){
		//1表示我要取消標記的通知
		manager.cancel(1);
	}
}

值得一提的就是showNotificationNewAPI()裡面創建通知的方式。

 

對於詳細的解釋,已經在代碼中注明了,相信1分鐘搞定~

好啦,運行看看創建的通知的樣子吧:

\

這樣的通知還是平凡的一筆,下一篇小案例就針對通知在實際開發中使用,完成自定義的通知,讓我們的通知布局“靓起來”。

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