展会信息港展会大全

创建一个菜单栏通知 自定义状态栏通知
来源:互联网   发布日期:2015-10-02 21:43:13   浏览:3661次  

导读:我们怎么样才能在android中实现在状态栏里出现一个通知,这个对我们很主要。一个状态栏通知,会在系统的状态栏添加一个图标,并且在状态窗口添加一 条信息。当用户点击这个信息时,android会发送一个intent请求......

我们怎么样才能在android中实现在状态栏里出现一个通知,这个对我们很主要。一个状态栏通知,会在系统的状态栏添加一个图标,并且在状态窗口添加一 条信息。当用户点击这个信息时,android会发送一个intent请求,通常是启动一个已定义的activity。你可以添加声音、震动、闪屏给设备 来提醒用户。

通常一个后台服务运行时,如果需要提醒用户一些事件、或者让用户反馈一些信息时,通常用到状态栏提醒。一个后台Service永远不会自己运行一个 activity来接受用户交互,一般的,后台服务会添加一个状态栏通知来与用户进行交互。图一为状态栏,图二为我们下滑后看到的 notification

我们现在就来说说它的基础知识,这样有对于我们的理解一个activity或者Service可以初始化状态栏通知,因为activity只有在活动状态 下才能执行一些命令,所以你需要从一个service来建立状态通知。当用户启动了其他程序或者设备已经休眠时,通过这种方式,通知就可以在后台被创建。 你要用到这两个类:Notification类和NotificationManager类。

Notification类来定义状态通知的属性,比如图标,提示信息,或者提示声音。NotificationManager是一个android系统 的服务,来管理和运行所有通知的,他不能被实例化,你可以用getSystemService()方法获得他的句柄。当你想通知用户时,调用 notify()方法即可。

创建一个菜单栏通知:

1. [图片]

2. [图片]

3. [代码][Java]代码

//1-获得MotificationManager的引用。

String ns = Context.NOTIFICATION_SERVICE;

NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

//2-实例化Notification:

int icon = R.drawable.notification_icon;

CharSequence tickerText = "Hello";

long when = System.currentTimeMillis();

Notification notification = new Notification(icon, tickerText, when);

//3-定义Notification,如显示icon、目标intent等信息

Context context = getApplicationContext();

CharSequence contentTitle = "My notification";

CharSequence contentText = "Hello World!";

Intent notificationIntent = new Intent(this, MyClass.class);

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

//4-传递给Manager.

private static final int HELLO_ID = 1;

mNotificationManager.notify(HELLO_ID, notification);

赞助本站

人工智能实验室

相关热词: 创建 菜单栏 通知

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港