1.activity代码

package com.example.lockscreen;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.os.Bundle;import android.support.v4.app.NotificationCompat;import android.view.View;import android.widget.RemoteViews;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void clickNo(View v){       if(v.getId() == R.id.button1){         //系统默认布局          Bitmap btm = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher);        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(MainActivity.this).setSmallIcon(R.drawable.ic_launcher)   .setContentTitle("5 new message")   .setContentText("twain@android.com");           mBuilder.setTicker("New message");//第一次提示消息的时候显示在通知栏上   mBuilder.setNumber(12);   mBuilder.setLargeIcon(btm);   mBuilder.setAutoCancel(true);//自己维护通知的消失       //使用默认提示音     mBuilder.setDefaults(Notification.DEFAULT_ALL);      //点击通知栏跳转的activity   Intent resultIntent = new Intent(MainActivity.this,   MainActivity.class);   PendingIntent resultPendingIntent = PendingIntent.getActivity(   MainActivity.this, 0, resultIntent,   PendingIntent.FLAG_UPDATE_CURRENT);      mBuilder.setContentIntent(resultPendingIntent);      NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);   mNotificationManager.notify(0, mBuilder.build());       }else if(v.getId() == R.id.button2){       //自定义显示布局           RemoteViews contentViews = new RemoteViews(getPackageName(),R.layout.custom_notification);   //通过控件的Id设置属性   contentViews.setImageViewResource(R.id.imageNo, R.drawable.ic_launcher);   contentViews.setTextViewText(R.id.titleNo, "自定义通知标题");   contentViews.setTextViewText(R.id.textNo, "自定义通知内容");   //点击通知栏跳转的activity   Intent intent = new Intent(MainActivity.this, MainActivity.class);   PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intent,   PendingIntent.FLAG_CANCEL_CURRENT);      NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(   MainActivity.this).setSmallIcon(R.drawable.ic_launcher)   .setContentTitle("My notification")   .setTicker("new message");   //自动管理通知栏消息   mBuilder.setAutoCancel(true);   mBuilder.setContentIntent(pendingIntent);   ///自定义布局   mBuilder.setContent(contentViews);   //使用默认提示音   mBuilder.setDefaults(Notification.DEFAULT_ALL);   NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);   mNotificationManager.notify(1, mBuilder.build());       }}}

2.自定义布局文件(custom_notification.xml)

<?xml version="1.0" encoding="utf-8"?>      


3.源码下载:http://download.csdn.net/detail/wd4871/9440333


更多相关文章

  1. 自定义View组合模式
  2. fill_parent与wrap_content的区别
  3. Android之Notification、NotificationChannel、NotificationComp
  4. 去除Dialog边框
  5. Android(安卓)控件布局常用属性
  6. 安卓倒计时
  7. [Android]Fragment点击穿透问题
  8. 弹出式菜单PopMenu
  9. Android(安卓)在自定义view中动态设置布局规则

随机推荐

  1. Android加载/处理超大图片神器!
  2. Android XML文件 Error parsing XML: unb
  3. ReactNative 调用Android 原生(二)——原生
  4. android相机预览
  5. Android学习_android镜像
  6. android之修改系统自带ProgressDialog样
  7. 使用android studio中遇到的常见问题及解
  8. 【Android(安卓)Native Code开发系列】三
  9. Android Toast 使用总结
  10. 创建 cocos2d-x+lua for android 步骤