美文网首页
Android中的消息通知-Toast和Notification

Android中的消息通知-Toast和Notification

作者: baolvlv | 来源:发表于2017-09-01 15:55 被阅读0次

            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);

    相关文章

      网友评论

          本文标题:Android中的消息通知-Toast和Notification

          本文链接:https://www.haomeiwen.com/subject/lzhkjxtx.html