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

Android NotificationCompat通知消息

时间:2015-10-13 17:25:06      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:

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);
    }
}


Android NotificationCompat通知消息

标签:

原文地址:http://my.oschina.net/zeroHigh/blog/516386

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