码迷,mamicode.com
首页 > 移动开发 > 详细

从零开始学android -- notification通知

时间:2017-09-07 16:59:34      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:put   位置   http   应用程序   build   默认   nbsp   service   意图   

看看效果

 

技术分享

布局什么的太简单了我就不放在上面了给你们看核心的代码就行了 里面的   int notificationID = 1;

//设置点击通知后的意图
        Intent intent = new Intent(this,NotificationView.class);
        intent.putExtra("notificationID",notificationID);
        //塞入pendingIntent  参数解释:1.上下文也就是context 2.请求码(用于意图的请求码) 3.意图(用来启动目标活动的意图) 4.标志(活动启动时使用的标志)
        PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_CANCEL_CURRENT);
        //获取系统的notification管理服务
        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

        //现在官方推荐用builder的方式构建Notification,原来是new的方式已经淘汰了。
        Notification.Builder builder = new Notification.Builder(this);
        //收到通知时最顶部显示的信息
        builder.setSmallIcon(R.mipmap.ic_launcher);
        builder.setTicker("Reminder:Meeting starts in 5 minutes");
        builder.setWhen(System.currentTimeMillis());

        //下拉顶部看到的详细通知信息 图标通用的
        builder.setContentTitle("System Alarm"); //设置标题
        builder.setContentText("Meeting with customer at 3pm.."); //设置内容
        //设置通知被点击后的意图处理也就是打开某个activity
        //至于为什么要用pendingIntent ,因为PendingIntent对象可以代表应用程序帮助您在后面的某个时候执行一个动作,而“不用考虑应用程序是否正在运行”
        builder.setContentIntent(pendingIntent);
        builder.setDefaults(Notification.DEFAULT_SOUND); //设置默认的声音和震动
        //当然你也可以自定义设置震动
//        builder.setVibrate(new long[]{100,250,100,500}); //设置震动
        builder.setAutoCancel(true);//设置点击后自动消失也就是取消显示  true:点击后消失;false:点击后不消失;默认是false
        Notification notif = builder.build(); //构建 这里注意build方法最低支持minSdkVersion 16
        manager.notify(notificationID,notif); //notification管理服务发送你所构建的通知  此时你会收到通知

注意里面的builder.setAutoCancel(true); 如果你不想程序自动帮你点击后关闭,而是自己用代码在另一个位置自己去关闭,那么你可以不写这句代码,也可以设置成false,然后关闭代码可以这么写

        //获取服务
        NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        nm.cancel(getIntent().getIntExtra("notificationID",1)); //关闭显示notificationID为1的通知

切记关闭id与你通知一致的id。好好学习,天天向上,就这么多了。

 

 

学习记录,如果有错请指出,谢谢!

 

从零开始学android -- notification通知

标签:put   位置   http   应用程序   build   默认   nbsp   service   意图   

原文地址:http://www.cnblogs.com/woaixingxing/p/7490286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!