高版本弹出通知
//获取通知的管理者
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// NotificationManager :是状态栏通知的管理类,负责发通知、清除通知等。它是一个系统Service,必须通过getSystemService()方法来获取。
//延期意图
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + 110));
// [3]创建延期意图
// 就是做一件事,与activity相关就调用getactivity方法,与服务相关就调用getservice方法,与广播相关就调用getbroadcast
PendingIntent contentIntent = PendingIntent.getActivity(
MainActivity.this, 1, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
// 参数1:上下文,参数2:请求码.参数3:意图 参数4:flag--跳转到页面的,需要加一个任务栈
//创建Notifaction对象,利用Builder方式; 链式调用
Notification noti = new Notification.Builder(MainActivity.this)
//设置标题
.setContentTitle("小丽")
//设置内容
.setContentText("老地方见")
//设置小图标
.setSmallIcon(R.drawable.ic_launcher)
//设置大图;
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
//当点击通知执行的逻辑;--延期意图
.setContentIntent(contentIntent).build();
//发送通知
nm.notify(10, noti);
//取消通知
nm.cancel(10);
低版本弹出通知--通知兼容低版本
//创建notification对象
// [1]通知兼容低版本 . 就使用过时的api
//创建notification对象
// 参数1:图标,参数2:内容,参数3:收到通知的时间
Notification noti = new Notification(R.drawable.ic_launcher, "您收到一条通知",
System.currentTimeMillis());
//让手机发出声音 并且呼吸灯亮--
noti.defaults = Notification.DEFAULT_ALL;
//让通知不能清除
noti.flags = Notification.FLAG_NO_CLEAR;
//[2]创建意图对象 实现拨打电话的逻辑
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + 110));
//[3]创建延期意图
// 就是做一件事,与activity相关就调用getactivity方法,与服务相关就调用getservice方法,与广播相关就调用getbroadcast
PendingIntent contentIntent = PendingIntent.getActivity(
MainActivity.this, 1, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
// 参数1:上下文,参数2:请求码.参数3:意图 参数4:flag--跳转到页面的,需要加一个任务栈
//[4]当点击通知执行的逻辑
noti.setLatestEventInfo(MainActivity.this, "小红", "小树林见", contentIntent);
// 参数1:上下文,参数2;通知的标题 参数3:内容,参数4:意图 pendingintent 延期的意图
//发通知
nm.notify(10, noti);