Android之消息通知栏
一:先来效果图、
二:实现步骤、
1.xml布局实现、
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"android:orientation="vertical"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="edu.feicui.notification.MainActivity"><Buttonandroid:id="@+id/btn_create"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="发送通知"android:textSize="25sp" /></LinearLayout>
2.activity的实现、
package edu.feicui.notification;import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.RemoteViews;import butterknife.ButterKnife;
import butterknife.OnClick;public class MainActivity extends AppCompatActivity {/*** 通知栏Notification*/private NotificationManager mManager;private Notification mNotification;private PendingIntent mIntent;private String cll;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);cll = "今年27号过年哟!";ButterKnife.bind(this);}@Overridepublic void onContentChanged() {super.onContentChanged();init();}private void init() {//初始化通知栏管理者mManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);//意图数组Intent[] intents = {new Intent(this, NotificationAcitivity.class)};//待处理意图对象mIntent = PendingIntent.getActivities(this, 0, intents, 0);//消息栏通知对象mNotification = new Notification();}@OnClick(R.id.btn_create)public void create() {//设置在通知栏的消息图标mNotification.icon = R.mipmap.logo_new;//设置在通知栏的信息内容mNotification.tickerText = "重大消息";//设置默认的声音,此外还可以设置震动(需加入权限)mNotification.defaults = Notification.DEFAULT_SOUND;//添加灯光
// mNotification.defaults=Notification.DEFAULT_LIGHTS;//不能删除mNotification.flags = Notification.FLAG_NO_CLEAR;//设置下拉时的显示布局RemoteViews convertView = new RemoteViews(getPackageName(), R.layout.layout_content);convertView.setImageViewResource(R.id.img, R.mipmap.logo_new);convertView.setTextViewText(R.id.txt, cll);mNotification.contentView = convertView;mNotification.contentIntent = mIntent;//发送通知// 第一个参数唯一的标识该Notification,第二个参数就是Notification对象mManager.notify(1, mNotification);}
}
3.AndroidManifest添加权限、
<uses-permission android:name="android.permission.VIBRATE"/>
4.跳转界面的xml、
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:orientation="vertical"><TextViewandroid:id="@+id/txt"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#ff0000"android:textSize="20dp"android:text="今年27号过年哟!" /></LinearLayout>
5.跳转activity的实现、
package edu.feicui.notification;import android.app.Activity;
import android.app.NotificationManager;
import android.os.Bundle;
import android.widget.TextView;/*** Created by Administrator on 2017-1-20.*/
public class NotificationAcitivity extends Activity {private NotificationManager mManager;private int index = 2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_notification);//初始化通知栏管理者mManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);index = 2;mManager.cancelAll();}
}
简单粗暴实用,你值得拥有、、、
Android之消息通知栏相关推荐
- 实现Android的消息通知栏
背景知识:可以用Activity和Service来开始消息通知,两者的区别在于一个是在前台触发,一个是后台服务触发. 要使用消息通知,必须要用到两个类:NotificationManager和Noti ...
- android的消息通知栏
在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...
- android通知栏的点击事件,Android监听消息通知栏点击事件
Android监听消息通知栏点击事件 使用BroadCastReceiver 1 新建一个NotificationClickReceiver 类,并且在清单文件中注册!! public class N ...
- Android消息通知栏
日常生活中,相信很多人都会有这样的经历,每天手机都会收到一些来自不同来源app的一些消息,显示与状态栏,下拉即可查看,甚至可以点击进行调转到相应app界面, 鉴于这样的功能和效果非常常见,也非常适合推 ...
- android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序
android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序 在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, ...
- android 8.0的imei简书,Android 8.0通知栏渠道,渠道组的适配和使用
Android 8.0通知栏渠道,渠道组的适配和使用 推广一下 博客 android 8.0开始引入了渠道组的概念,app可以对通知类型进行细分,比如划分为:广告消息,私聊消息,群聊消息等. 但其实到 ...
- Android 8.0+通知栏(Notification)适配详解,判断通知权限是否打开,并跳转至通知管理页面
前不久因为API26(Android 8.0)以上的设备无法显示通知栏,所以网上查阅了比较多了资料,得出结论,API26以后引入了通知渠道这么个东西,然后就写了一篇问题对应的博文:Android 8. ...
- Android发送通知——通知栏(Notification)
Android发送通知--通知栏(Notification) 通知是指 Android 在您应用的界面之外显示的消息,旨在向用户提供提醒.来自他人的通信信息或您应用中的其他实时信息.在发出一条通知后, ...
- android应用消息,Android学习笔记(05)——Android应用程序的三种消息提示(通知方式)...
Android有三种消息提示方式,分别是:状态栏通知.对话框通知和吐西(Toast)通知,下面记录这三种不同方式的用法以及区别: 一.状态栏通知(Notification) 通知用于在状态栏显示消息, ...
最新文章
- 慢就是快的人生哲理_家里的防臭地漏下水慢怎么办?
- Arrays.asList(arr)使用注意事项
- linux下c语言 双向链表
- JavaWeb:XML总结
- [地产]“用90%的时间考虑失败”——李嘉诚(长江实业集团董事长)
- redis笔记2 限流、GeoHash和Scan
- Milkyway database简析
- linux重启网卡命令_如何在 Linux 中更改 MAC 地址 | Linux 中国
- Intel酷睿前世今生(二)
- Scrapyd API的安装
- 使用js实现画笔功能
- Maya2018安装及激活教程
- 小车高速怎么收费标准_高速如何计费 2019高速公路收费标准及计算方法
- mysql ctrl+y_mysql操作
- excel在双显示器上打开两个独立的xlsx表格
- ERROR 1044 (42000)Access denied for user @localhost to database
- 时尚集团副总裁西单解密《时尚江湖》
- flowable工作流技术学习
- 学UI设计,用对这5款设计软件是关键
- CentOS7(Linux)在VMware Workstation上的 安装使用教程