Android中的消息通知-Toast和Notification
Android中消息通知主要有两种方式,一种是简短的提示信息,此时使用Toast,另一种是主动推送的信息,应使用Notification。
详细代码:Toast Notification
1.Toast
toast显示消息通知时,先makeText,后show,makeText时,参数为context,显示的文本内容,显示时长
Toast.makeText(MainActivity.this,"显示一个较长的Toast",Toast.LENGTH_LONG).show();
显示时长默认只有两个值,需要设置为这两个一长一短的值
Toast.LENGTH_LONG(3.5秒)和Toast.LENGTH_SHORT(2秒)
可依通过setGravity方法设置Toast的显示位置
//后两个参数为x轴和y轴的偏移量,x轴正值向右偏移,y轴正值为向下偏移
aShortToast.setGravity(Gravity.CENTER,100,-200);
可以通过setView为Toast设置图片,图片会取代之前设置的文本,需要显示多种内容时,自定义layout
Toast imageToast = Toast.makeText(MainActivity.this,"这是一个带有图片的toast",Toast.LENGTH_LONG);
//创建imageView,并设置图片源
ImageView iv =newImageView(MainActivity.this);
iv.setImageResource(R.mipmap.ic_launcher);
//为Toast设置view
imageToast.setView(iv);
2.Notification
notification,通知,即android状态栏顶部的消息推送,
Notification对象必须包含以下内容:
小图标,由setSmallIcon()设置,隐藏时显示在状态栏顶部
标题,由setContentTitle()设置
详细文本,由setContentText()设置
选择包含的内容
Large icon 大图标
Content info 内容信息
通知创建的时间,由setTime()方法设置
创建notification之前,先创建builder,通过builder设置notification的属性,用以创建真正的notification
//创建notification前,需要先创建一个builder,通过builder创建一个真正的notification
NotificationCompat.Builder builder =newNotificationCompat
.Builder(MainActivity.this);
通过builder设置notification的属性,小图标,标题,详细文本必须设置
//通过builder为当前的notification指定属性
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentTitle("你有"+counter+"条新消息!");
builder.setContentText("天空一无所有,为何给我安慰”);
通过builde方法,创建notification
//调用build方法创建notification的真实对象
Notification notification = builder.build();
为了在通知栏栏显示notification,需要通过notificationManager获取系统notification服务,
而后通过manager提示
//获取系统的notification服务,传递给manager用来在通知栏显示
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
//通过固定的notificationID对当前的notification进行更新,manager进行提示
manager.notify(NOTIFICATION_ID,notification);