- 浏览: 82517 次
- 性别:
- 来自: 广州
最新评论
-
Tony_Lee-S:
已经说得很明白了吧?“把list强转成Serializable ...
在android中用 Intent 传递 List类型的数据(转) -
zhiduo5:
Activity与Service之间传递参数的介质这个怎么弄啊 ...
在android中用 Intent 传递 List类型的数据(转) -
mathlove:
很有用的内容
一个Android下的自动下载歌词的代码(转)
Notification看名字就知道,是一个和提醒有关的东西,它通常NotificationManager一块使用。具体来说,其主要功能如下。
1.NotificationManager和Notification用来设置通知
通知的设置等操作相对比较简单,基本的使用方式就是新建一个Notification对象,设置好通知的各项参数,然后使用系统后台运行的NotificationManager服务将通知发出来。基本步骤如下。
1)创建NotificationManager对象,NotificationManager(通知管理器):负责通知用户事件的发生.
NotificationManager有三个公共方法:
1. cancel(int id) 取消以前显示的一个通知.假如是一个短暂的通知,试图将隐藏,假如是一个持久的通知,将从状态条中移走.
2. cancelAll() 取消以前显示的所有通知.
3. notify(int id, Notification notification) 把通知持久的发送到状态条上.
代码如下:
String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
2)创建一个新的Notification对象,Notification代表着一个通知。代码如下。
Notification notification = new Notification(); notification.icon = R.drawable.notification_icon;
也可以使用稍微复杂一些的方式创建Notification,代码如下。
int icon = R.drawable.notification_icon; //通知图标 CharSequence tickerText = "Hello"; //状态栏(Status Bar)显示的通知文本提示 long when = System.currentTimeMillis(); //通知产生的时间,会在通知信息里显示 Notification notification = new Notification(icon, tickerText, when);
3)填充Notification的各个属性,代码如下。
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, PendingIntent.FLAG_ONE_SHOT); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
Notification提供了如下几种手机提示方式。
状态栏(Status Bar)显示的通知文本提示,例如:
notification.tickerText = "hello";
发出提示音,例如:
notification.defaults = Notification.DEFAULT_SOUND; notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3"); notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");
手机振动,例如:
notification.defaults = Notification.DEFAULT_VIBRATE; long[] vibrate = {0,100,200,300}; notification.vibrate = vibrate;
LED灯闪烁,例如:
notification.defaults = Notification.DEFAULT_LIGHTS; notification.ledARGB = 0xff00ff00; notification.ledOnMS = 300; notification.ledOffMS = 1000; notification.flags |= Notification.FLAG_SHOW_LIGHTS;
4)发送通知,代码如下。
private static final int ID_NOTIFICATION = 1; mNotificationManager.notify(ID_NOTIFICATION, notification);
2.更新通知
如果需要更新一个通知,只需要在设置好Notification之后,再调用setLatestEventInfo,然后重新发送一次通知即可。
为了更新一个已经触发过的Notification,传入相同的ID。用户既可以传入相同的Notification对象,也可以是一个全新的对象。只要ID相同,新的Notification对象会替换状态条图标和扩展的状态窗口的细节。
另外,还可以使用ID来取消Notification,通过调用NotificationManager的cancel方法,代码如下。
notificationManager.cancel(notificationRef);
当取消一个Notification时,会移除它的状态条图标以及清除在扩展的状态窗口中的信息。
范例:
view plaincopy to clipboard package cn.com.chenzheng_java; 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.net.Uri; import android.os.Bundle; import android.provider.MediaStore.Audio; import android.view.View; import android.widget.Button; /*** * @description 状态栏通知相关 * @author chenzheng_java * */ public class NotificationActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.notification); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { addNotificaction(); } }); } /** * 添加一个notification */ private void addNotificaction() { NotificationManager manager = (NotificationManager) this .getSystemService(Context.NOTIFICATION_SERVICE); // 创建一个Notification Notification notification = new Notification(); // 设置显示在手机最上边的状态栏的图标 notification.icon = R.drawable.excel; // 当当前的notification被放到状态栏上的时候,提示内容 notification.tickerText = "注意了,我被扔到状态栏了"; /*** * notification.contentIntent:一个PendingIntent对象,当用户点击了状态栏上的图标时,该Intent会被触发 * notification.contentView:我们可以不在状态栏放图标而是放一个view * notification.deleteIntent 当当前notification被移除时执行的intent * notification.vibrate 当手机震动时,震动周期设置 */ // 添加声音提示 notification.defaults=Notification.DEFAULT_SOUND; // audioStreamType的值必须AudioManager中的值,代表着响铃的模式 notification.audioStreamType= android.media.AudioManager.ADJUST_LOWER; //下边的两个方式可以添加音乐 //notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3"); //notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6"); Intent intent = new Intent(this, Notification2Activity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT); // 点击状态栏的图标出现的提示信息设置 notification.setLatestEventInfo(this, "内容提示:", "我就是一个测试文件", pendingIntent); manager.notify(1, notification); } }
转自:http://tech.it168.com/a2012/0106/1298/000001298952_1.shtml
http://blog.csdn.net/jdsjlzx/article/details/6702537
发表评论
-
SQLite多线程读写实践及常见问题总结(转)
2013-02-07 11:04 3032基本操作的部分,大家都很熟悉了,这里根据个人切身经验,总结了 ... -
android内存溢出的解决方法(转)
2013-02-07 11:23 8201. 当项目中包含大量图片,或者图片过大 方法1:等比例缩 ... -
android中的跨进程通信的实现——远程调用过程和aidl(转)
2013-02-07 19:35 1344android在设计理念上强调组件化,组件之间的依赖性很小。 ... -
在EditText/TextView中插入表情图片、样式、下划线等(转)
2012-08-22 12:01 1603EditText: 通常用于显示文字,但有时候也需要在文字中 ... -
自定义Tab选项卡(转)
2012-08-21 08:44 1502效果: 代码: import android.app. ... -
android设置button透明度(转)
2012-08-18 22:09 1296Button或者ImageButton的背景设为透明或者半透明 ... -
Android中的TabHost(转)
2012-08-17 14:50 2226介绍 有时,我们想在一个window中显示多个视图,这时就需 ... -
Android开发之蓝牙(Bluetooth)操作(二)--修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备(转)
2012-08-15 16:54 1465一. 修改本机蓝牙设备的可见性 二. 扫描周围可用的蓝牙设备 ... -
Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备(转)
2012-08-15 16:49 1741一. 什么是蓝牙(Bluetooth)? 1.1 BuleT ... -
一个Android下的自动下载歌词的代码(转)
2012-08-15 13:41 11981. 原理是用Baidu音乐搜索的连接,拼参数进去读取歌词。 ... -
ViewPager多页面滑动切换以及动画效果(转)
2012-08-14 16:55 1901一、首先,我们来看一下效果图,这是新浪微博的Tab滑动效果。我 ... -
Android的Handler总结(转)
2012-08-14 14:18 912一、Handler的定义: 主要接受子线程 ... -
AsyncTask的用法(转)
2012-08-14 14:11 900在开发Android应用时必须遵守单线程模型的原则: Andr ... -
Android逐帧动画(转)
2012-08-13 16:46 1789Android有两种动画,一种是tweened animati ... -
android 扫描SD卡与系统文件(转)
2012-08-11 16:12 1343当手机或模拟器开机时,会调用android的MediaScan ... -
android 怎样为多媒体文件生成缩略图(转)
2012-08-10 17:11 12801、Video 对于视频,取第一帧作为缩略图,也就是怎样从fi ... -
TextView 实现自动换行(转)
2012-08-10 16:44 1400package com.liao.intentservice; ... -
android:屏幕自适应(转)
2012-08-10 16:10 1401demo下载: http://www.eoeandroid.c ... -
listview加载性能优化ViewHolder (转)
2012-07-28 15:16 1462在android开发中Listview是一个很重要的组件,它以 ... -
android 应用程序Activity之间数据传递与共享的几种途径(转)
2012-07-19 11:03 15131.基于消息的通信机制 Intent ---boudle , ...
相关推荐
### 一、Notification简介 Laravel的通知系统是一个强大的工具,它提供了结构化的接口,可以定义多种通知方式,如邮件、数据库、队列等。在"会议结束后,我们将向您发送数字通知"的场景中,Notification组件可以...
#### 一、PureMVC简介 PureMVC是一个开源的、跨平台的架构框架,主要用于构建灵活、可扩展且易于维护的客户端应用程序。它基于经典的模型-视图-控制器(MVC)设计模式,并通过分离关注点的方式帮助开发者更好地组织...
- **定义Notification和Event常量**: 为了确保通知的一致性和可维护性,通常会定义一套Notification和Event的常量集合。 - **SimpleCommand和MacroCommand的使用**: 根据应用程序的需求,选择使用SimpleCommand处理...
5. **Notification**: 当闹钟触发时,通常会通过Notification提醒用户。Notification是Android系统的一种全局提醒机制,即使应用不在前台运行,用户也能接收到提醒。 6. **SharedPreferences**: 可用于存储用户设置...
#### 1.1 简介 Activity Manager 是 Android 框架中的一个核心组件,负责管理和协调应用程序中 Activity 的生命周期以及状态转换等。它是 Android 应用程序与操作系统交互的关键桥梁之一。 #### 1.2 主要功能 - ...
**Push Notification Services (PNS) 简介** WP7于2010年11月中旬发布,带来了全新的用户体验和开发者环境。与以往的Windows Mobile不同,WP7的开发转向了基于Silverlight的应用程序,这意味着开发者必须适应全新的...
4.2.21 状态栏提示(Notification、NotificationManager) 4.2.22 对话框中的进度条(ProgressDialog) 4.3 界面布局 4.3.1 垂直线性布局 4.3.2 水平线性布局 4.3.3.相对布局(RelativeLayout) 4.3.4 表单...
- **文字转语音(Text-to-Speech)**:将文本转换成语音播报。 - **天气(Weather)**:获取气象信息。 #### 支持的协议和技术 除了上述设备和服务外,HA还支持多种协议和技术,例如Z-Wave和MQTT。Z-Wave是一种低...
4.2.21 状态栏提示(Notification、NotificationManager) 4.2.22 对话框中的进度条(ProgressDialog) 4.3 界面布局 4.3.1 垂直线性布局 4.3.2 水平线性布局 4.3.3.相对布局(RelativeLayout) 4.3.4 表单...
4.2.21 状态栏提示(Notification、NotificationManager) 4.2.22 对话框中的进度条(ProgressDialog) 4.3 界面布局 4.3.1 垂直线性布局 4.3.2 水平线性布局 4.3.3.相对布局(RelativeLayout) 4.3.4 表单布局...
### dsPIC30F2010简介 dsPIC30F2010是Microchip公司推出的一款高性能的数字信号控制器,它结合了DSP(Digital Signal Processor)的高速数据处理能力和微控制器的控制功能,特别适用于实时控制应用。该控制器具有...
Webiron 平台简介 Webiron 是一个可能提供实时数据流、通知服务或API接口的平台,它允许开发者通过 API 接口获取并处理相关的业务数据。`parser-webiron` 模块就是为了解决如何在 Laravel 应用中与 Webiron 进行...
4.2.21 状态栏提示(Notification、NotificationManager) 4.2.22 对话框中的进度条(ProgressDialog) 4.3 界面布局 4.3.1 垂直线性布局 4.3.2 水平线性布局 4.3.3.相对布局(RelativeLayout) 4.3.4 表单布局...
2.6.2 Notification的功能与用法 129 2.7 菜单 132 2.7.1 选项菜单和子菜单 (SubMenu) 132 2.7.2 使用监听器来监听菜单事件 136 2.7.3 创建复选菜单项和单选菜单项 137 2.7.4 设置与菜单项关联的...
在电影推荐系统中,axios负责向服务器发送请求获取电影数据,如电影海报、简介、评分等,以及用户的观看历史和偏好信息,同时将用户的操作(如收藏、评分)反馈给服务器。 在开发过程中,Vue3的setup语法糖使得组件...
1.1 Android简介 1.1.1 认识Android 1.1.2 Android系统框架 1.1.3 应用程序框架 1.2 Eclipse开发环境 1.2.1 安装ADT插件 1.2.2 安装SDK 1.2.3 配置源代码 1.2.4 创建AVD 1.3 Android模拟器 1.3.1 ADB工具 1.3.2 其它...
1.firefox插件运行机理简介 Web Extension API: 从firefox 48开始,为了使浏览器插件的代码更具有通用性,火狐浏览器抛弃原有的基于SDK的插件开发系统,转而使用webExtension API进行插件的开发. Web Extension 的...