Android-Notification (通知实现)

1.回顾

  上篇学习了 Dialog实现的 6中方式 :普通对话框,列表对话框,单选对话框,多选对话框,自定义对话框和 activity 实现 对话框;

2.重点

   (1)Notification 实现 通知

   (2)Notification 的权限

   (3)NotificationManager 实现操作通知

3.基本实现

   3.1效果图

      手机 小米4 ,是有声音和震动的,这里没办法展示;
                                                               Android-Notification (通知实现)_第1张图片

   3.2 布局实现

       两个按钮:



    

    


     3.3 代码实现

package com.example.studydemo7;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Notification;
import android.app.Notification.Builder;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

	private Button button1,button2;
	
	
	//通知 是通过 NotificationManager 来管理的
	private NotificationManager manager;
	
	private final int NOTIFICATION_ID=1;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		//初始化 得到 通知 系统服务
		manager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
		
		button1=(Button) findViewById(R.id.button1);
		button2=(Button) findViewById(R.id.button2);
		button1.setOnClickListener(new button1ClickListener());
		button2.setOnClickListener(new button2ClickListener());
		
	}
	
	class button1ClickListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			//发送通知
			sendNotification();
		}
		
	}
	class button2ClickListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			//取消通知
			manager.cancel(NOTIFICATION_ID);
		}
		
	}
	
	@SuppressLint("NewApi")
	private void sendNotification(){
		
		//通过 Builder 来创建  Notification 的
		Builder builder=new Notification.Builder(this);
		//设置 通知 图标
		builder.setSmallIcon(R.drawable.ic_launcher);
		//设置 通知 显示标题
		builder.setTicker("Hi");
		//设置 通知栏 标题
		builder.setContentTitle("StudyDemo");
		//设置 通知内容
		builder.setContentText("StudyDemo 需要更新了!");
		//设置 提醒 声音/震动/指示灯
		builder.setDefaults(Notification.DEFAULT_ALL);
		
		//设置 点击后的跳转 通过 pendingIntent 实现
		Intent intent=new Intent(this,MainActivity.class);
		PendingIntent pendingIntent=PendingIntent.getActivity(this,0, intent,0);
		builder.setContentIntent(pendingIntent);
		
		//创建 通知 
		//安卓4.1 及其 以上使用 build()方法 ,以下的使用  builder.getNotification();
		Notification notification=builder.build();
		manager.notify(NOTIFICATION_ID, notification);
	}
	
	
	
	
	
}


4.demo 免积分下载

http://download.csdn.net/detail/lablenet/9048745



你可能感兴趣的:(Notification,安卓通知栏,android,ui)