Android NotificationCompat通知消息

import android.os.Bundle;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v4.app.NotificationCompat;
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 v){
        NotificationCompat.Builder builder = 
                new NotificationCompat.Builder(this);
        //设置标题
        builder.setContentTitle("通知标题");
        
        builder.setContentText("这是内容。。。。。。。。。。。。。。");
        //图标
        builder.setSmallIcon(R.drawable.ic_launcher);
        //就是通知打开前在,页面可以看见的提示文字
        builder.setTicker("一闪,搜索");
        
        
        /**
         * 设置notification的样式
         */
        
        //大文本类型的通知
        NotificationCompat.BigTextStyle big = new NotificationCompat.BigTextStyle();
        big.setBigContentTitle("大的标题").bigText("大的内容");
        //设置builder的样式
        //builder.setStyle(big);
        
        //大图片的类型
        NotificationCompat.BigPictureStyle bigimg = new NotificationCompat.BigPictureStyle();
        
        Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
        
        bigimg.bigLargeIcon(b);
        //设置样式
        //builder.setStyle(bigimg);
        /**
         * 可以显示更多文字
         */
        NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
        inboxStyle.addLine("一行文本");
        inboxStyle.addLine("2行文本");
        inboxStyle.addLine("3行文本");
        inboxStyle.addLine("4行文本");
        inboxStyle.addLine("5行文本");
        builder.setStyle(inboxStyle);
        
        /**
         * 设置跳转,预跳转。可点可不点
         * 
         */
        Intent intent = new Intent(this,MainActivity.class);
        /**
         * 
         * pendingIntent:封装了Intent的预意图,表示
         * 动作还没有发生,但是会一直保留着这个动作
         * context 上下文
         * requestCode:请求码 
         * intent :跳转意图
         * Flag:标记
         */
        PendingIntent pendingIntent = 
                PendingIntent.getActivity(this, 200, intent, PendingIntent.FLAG_ONE_SHOT);
        
        //PendingIntent.FLAG_NO_CREATE;一般用一个
        builder.setContentIntent(pendingIntent);
        
        
        //服务来调用
        /**
         * get 是系统的服务
         * 传递Context.NOTIFICATION_SERVICE 可以获取一个管理Notification 的管理器 
         * 
         */
        NotificationManager manager = 
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        /**
         * builder构造器,可以建造哟个Notification对象
         * 
         */
        Notification build = builder.build();
        
        /**
         * 这个方法可以发出一个通知
         * id 唯一标识的id号
         * 
         * notification 是需要发出通知的对象,(谁需要这个通知)
         */
        manager.notify(1, build);
    }
}
时间: 2024-08-24 09:00:08

Android NotificationCompat通知消息的相关文章

Android中的消息通知Toast和Notification

Android中的消息通知Toast和Notification 1.弹出通知Toast MainActivity.java 1 package com.example.toast; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.view.Gravity; 6 import android.view.Menu; 7 import android.view.View; 8 import an

android 本地简易消息推送

首先建一个activity,布局.xml文件的格式如图: 代码如下: 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height

Android Notification通知详解

Android Notification通知详解 Notification: (一).简介: 显示在手机状态栏的通知.Notification所代表的是一种具有全局效果的通知,程序一般通过NotificationManager服务来发送Notification. Android3.0增加了Notification.Builder类,该类可以轻松地创建Notification对象. (二).Notification.Builder类中提供的方法: builder.setAutoCancel();

Android Notification通知详细解释

Android Notification通知具体解释 Notification: (一).简单介绍: 显示在手机状态栏的通知. Notification所代表的是一种具有全局效果的通知,程序一般通过NotificationManager服务来发送Notification. Android3.0添加了Notification.Builder类.该类能够轻松地创建Notification对象. (二).Notification.Builder类中提供的方法: builder.setAutoCance

Android的通知(Notification)使用详解

这篇博客讲解一下在Android中使用Notification提示消息给用户,Notification是一种具有全局效果的通知,程序一般通过NotificationManager服务来发送Notification.在本篇博客中,将介绍Notification的常规使用,以及自定义方式的使用,对于每种不同的方式,都提供示例展示效果. Notification Notification,俗称通知,是一种具有全局效果的通知,它展示在屏幕的顶端,首先会表现为一个图标的形式,当用户向下滑动的时候,展示出通

Android中的消息机制

在分析Android消息机制之前.我们先来看一段代码: public class MainActivity extends Activity implements View.OnClickListener { private TextView stateText; private Button btn; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s

android实现通知栏消息

一.原理 消息推送有两种,一种是客户端定时直接到服务器搜索消息,如果发现有新的消息,就获取消息下来:另一种是服务器向客户端发送消息,也就是当有信息消息时,服务器端就会向客户端发送消息. 二.步骤(代码) 注: Notification //是具体状态栏对象,设置Icon.文字.声音等.NotificationMangager //状态栏通知管理类.负责发消息.清理消息. import android.app.Notification;import android.app.Notification

浅析Android中的消息机制(转)

原博客地址:http://blog.csdn.net/liuhe688/article/details/6407225 在分析Android消息机制之前,我们先来看一段代码: 1 public class MainActivity extends Activity implements View.OnClickListener { 2 private TextView stateText; 3 private Button btn; 4 5 @Override 6 public void onC

浅析Android中的消息机制-解决:Only the original thread that created a view hierarchy can touch its views.

在分析Android消息机制之前,我们先来看一段代码: [html] view plaincopyprint? public class MainActivity extends Activity implements View.OnClickListener { private TextView stateText; private Button btn; @Override public void onCreate(Bundle savedInstanceState) { super.onC