一:先来效果图
二:实现步骤
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"> <button androID: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; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); cll = "今年27号过年哟!"; ButterKnife.bind(this); } @OverrIDe public voID onContentChanged() { super.onContentChanged(); init(); } private voID init() { //初始化通知栏管理者 mManager = (notificationmanager) getSystemService(NOTIFICATION_SERVICE); //意图数组 Intent[] intents = {new Intent(this,NotificationAcitivity.class)}; //待处理意图对象 mIntent = PendingIntent.getActivitIEs(this,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添加权限
@H_419_50@<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"> <TextVIEw androID: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; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_notification); //初始化通知栏管理者 mManager = (notificationmanager) getSystemService(NOTIFICATION_SERVICE); index = 2; mManager.cancelAll(); }}
简单粗暴实用,你值得拥有
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程小技巧!
总结以上是内存溢出为你收集整理的Android之开发消息通知栏全部内容,希望文章能够帮你解决Android之开发消息通知栏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)