文档章节

推送通知的两种编写方式

chenruibing
 chenruibing
发布于 2015/05/27 15:45
字数 386
阅读 88
收藏 1

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

使用通知管理者 NotificationManager

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <Button
        android:onClick="click"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="点击显示通知" />
	<Button
        android:onClick="click2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="新版点击显示通知" />
    
</RelativeLayout>



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);
		//发一个通知   第一参数是给通知编号,方便以后删除等管理,不写就直接0
		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);
	}
}



© 著作权归作者所有

chenruibing
粉丝 12
博文 203
码字总数 109101
作品 0
潮州
私信 提问
设计模式——观察者模式:天气推送的两种实现

需求说明: 目前我们需要实现一种天气实时更新的程序(天气推送),当气象站数据更新后,天气接口程序去获取最新天气数据,然后将数据分发给所有订阅过“天气日报”程序的用户,即使更新数据...

OSC一霸
2016/10/14
2.1K
4
AppleWatch开发入门七——watchOS中通知的应用

AppleWatch开发入门七——watchOS中通知的应用 一、引言 在iOS系统中,支持的通知有两种类型:本地通知和远程通知。本地通知多用于计时类通知,远程的又称推送,多用于一些提示动态的提示信息...

珲少
2015/10/19
2.3K
0
Android 通过Service单独进程模仿离线推送 Server Push

概述: 首先简单阐述一下我对于消息推送的理解,这里拿QQ来举例吧,当我们手机端的QQ离线了,并且退出了QQ应用,但是这时候如果别人给我们发了信息,我们没有上线。服务器会将发送者发送的信...

归来熙
2013/11/27
1K
1
Web信息系统中用户业务通知系统设计

引言 信息化的主要目的就是对信息流的管理,在没有信息传输系统之前,信息的流转靠口头传送、书写传送,口头传送仅能传输少量信息,大量信息传送采用书写文字的方式,种种方式都需费时费力,...

大风起兮
2013/07/05
1K
4
《Web 推送通知》系列翻译 | 引言&概览

引言 参与者(排名不分先后):任家乐、杨芯芯、刘文涛、张卓、刘鹏。 PWA 技术的流行,给了前端许多新的能力。以前很多前端做不到的事情,现在逐渐可以做到了。本系列文章讲述的的 Web 推送...

阅文集团前端团队
2018/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

图的拓扑排序(动图)

概述 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,...

大洼X
17分钟前
3
0
CentOS7安装Redis和搭建Redis高可用集群

一、CentOS7下Redis安装 1.查看linux内核版本 此步骤可以省略,一般CentOS7内核版本都应该满足,因为搭建Redis高可用集群是Redis3以上才支持的,而Redis3需要linux内核高于3.10版本,所有才有...

liddblog
19分钟前
3
0
活动泄漏了最初添加的窗口

这是什么错误,为什么会发生? 05-17 18:24:57.069: ERROR/WindowManager(18850): Activity com.mypkg.myP has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@44c4......

技术盛宴
20分钟前
3
0
IT兄弟连 HTML5教程 DIV+CSS的兼容性问题

使用DIV+CSS布局网页其实是很容易的事情,但各种浏览器之间的不兼容性问题,加大了页面布局的难度,给程序员带来很多不便,于是需要花费更多的时间在调试各种浏览器的兼容性上。因为部分CSS...

老码农的一亩三分地
22分钟前
3
0
商家发货

商家发货 商家发货 打开后台-订单-订单列表 1.点击筛选出待发货的订单可进行批量操作。批量发货、批量打印快递单、批量打印发货单。 2.点击发货时,弹出框显示待发货的商品,发货方式可选需要...

Geek-Chic
23分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部