兼容性问题
- 使用v4库中的NotificaationCompat类,可以保证程序在所有Android系统版本上使用。
在activity中,使用一个简单的通知
public void createNotification(View view){
PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, SecondActivity.class), 0);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new NotificationCompat.Builder(this)
.setContentTitle("通知的标题")
.setContentText("通知的正文内容")
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.mipmap.ic_launcher)//只能使用纯alpha图层的图片进行设置
.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.bg_02))//下拉系统状态栏时,就可以看到大图片
.setContentIntent(pi)//设置一个延迟意图,点击可执行
.setAutoCancel(true)//点击后,自动消失
.build();
manager.notify(id,notification);
}
通知的取消
两种方式:
一种是点击后自动取消: .setAutoCancel(true)//点击后,自动消失
一种是根据id取消: manager.cancel(id);
通知的奇技淫巧
.setSound(Uri.fromFile(new File("音频地址")))//通知发出时,播放一段音频
.setVibrate(new long[]{0,1000,1000,1000})//通知发出时,震动
.setLights(Color.GREEN,1000,1000)//设置led灯闪烁,灯的颜色,灯亮的时长,灯暗去的时长
.setDefaults(NotificationCompat.DEFAULT_ALL)//设置默认铃声和震动
.setStyle(new NotificationCompat.BigTextStyle().bigText("很长很长的话"))//设置富文本通知,比如设置一段长文字或者图片
.setStyle(new NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.bg_02)))
.setPriority(NotificationCompat.PRIORITY_MAX)//设置通知的重要性