码迷,mamicode.com
首页 > 其他好文 > 详细

推送通知的两种编写方式

时间:2015-05-27 16:10:38      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

使用通知管理者 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);
	}
}



推送通知的两种编写方式

标签:

原文地址:http://my.oschina.net/u/2356176/blog/420618

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