Android消息通知-Notification


Android中常用的消息提醒,一種是Toast彈出提醒內容,一種是AlterDialog彈出框來提醒用戶,還有一種就是消息通知的,用Android經常收到各種通知就是Notifation。Notification是一種具有全局效果的通知,展示在屏幕頂端,表現一個圖標的形式,當用戶向下滑動的時候,展示出通知具體的內容。

Notifation概念

Android很多東西存在版本兼容性問題Android3.0是一個之前在其之前構建Notification推薦使用Notification.Builder構建,Android3.0之后,一般推薦使用NotificationCompat.Builder構建。通知一般通過NotificationManager服務來發送一個Notification對象來完成,NotificationManager是一個重要的系統級服務,該對象位於應用程序的框架層中,應用程序可以通過它像系統發送全局的通知。

這個時候可以先看看要實現的效果:

Demo實現

關於Notifation網上也有很多例子,我就寫一個簡單的,三個按鈕,一個發送,一個取消,還有一個就是新版本的寫法,看下App:

 

通知事件的寫法,點擊之后的效果就是最開始看到的那張圖片:

 

 notificationManager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
		Notification notification = new Notification(R.drawable.ic_launcher, "通知", System.currentTimeMillis());
		//如果是已經通知,自動消失
		notification.flags = Notification.FLAG_AUTO_CANCEL;
		//新建一個打電話的意圖
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:120"));
		//將上面的意圖組合到一起
		PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);
		notification.setLatestEventInfo(this, "XX彩票", "恭喜你中獎100萬", contentIntent);
		notificationManager.notify(100, notification);

 

取消事件:(注意上面的那個通知的ID號是100):

notificationManager.cancel(100);

 新版寫法直接調用Notifation中的Builder方法即可:

 Notification notifation= new Notification.Builder(this)
        .setContentTitle("小官巨腐")
        .setContentText("現金1.2億,黃金37公斤")
        .setSmallIcon(R.drawable.ic_launcher)
        .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
        .build();
		 NotificationManager manger= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
		 manger.notify(0, notifation);
	

  效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM