Notification

Notification 通知栏通知

Notification是显示手机状态栏的文本消息的提示。

如何实现:

    1 获取NotificationManager

    NotificationManager mn =  (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    2 显示通知栏 notify(id,notification);

    3 取消通知栏 cancle(id);

    4 构造Notification并设置显示的内容

    5 通知栏通知可以设置声音提示,指示灯。以及震动效果;

  NotificationManager mn =  (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

//设置点击通知要跳转的意图
    Intent intent = new intent(this,MainActivity.class);

    PendingIntent pintent = PendingIntent.getActivity(this,0,intent);



    Builder builder =  new Notification.Builder(this);

    builder.setSmallIcaon(R.drawable.ic_launch);//设置图片

    builder.setTicker(”hello“);

    builder.setWhen(System.currentTimeMills());//设置时间

    builder.setContentTitle("通知栏通知");

    builder.setContentText("我是来自NotificationDemo");//设置文本内容

    builder.setContentIntent(pintent);//点击后的意图



    builder.setDefaults(Notification.DEFAULT_SOUND);设置声音

    builder.setDefaults(Notification.DEFAULT_LIGHTS);//设置指示灯

    builder.setDefaults(Notification.DEFAULT_VIBRATE);设置震动

     builder.setDefaults(Notification.DEFAULT_ALL);

指示灯和震动 需要相应的权限;;

                                builder.getNotification();//4.1以下要使用

    Notification notification = builder.build();//4.1以上



    mn.notify(id,notification);//发送通知。id是当前的id号,随便自己定义

    mn.cancel(id);//取消通知




小demo

package com.itheima.notification;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void click(View view){
        NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        //旧版本的
        Notification notification = new Notification(R.drawable.notification, "我是一个通知", System.currentTimeMillis());
        notification.flags = Notification.FLAG_AUTO_CANCEL;

        //隐士意图
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_CALL);
        intent.setData(Uri.parse("tel:110"));

        //处理即将发生的事情
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);
        notification.setLatestEventInfo(this, "我是标题", "我是内容", contentIntent);
        nm.notify(0, notification);


    }




    /**
     * 新版本的notification
     * @param view
     */
    @SuppressLint("NewApi")
    public void click2(View view){
         Notification noti = new Notification.Builder(this)
         .setContentTitle("我是标题")
         .setContentText("我是内容")
         .setSmallIcon(R.drawable.notification)
         .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
         .build();
         NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
         nm.notify(0, noti);

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值