- 浏览: 1697327 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (159)
- android 2D (13)
- android 控件 (12)
- android UI (16)
- android 动画 (5)
- android 线程 (3)
- android 数据存储 (15)
- android 基础 (13)
- android xml解析 (1)
- android 多媒体开发 (4)
- android 服务 (4)
- android 安全 (1)
- android WebKit以及相关 (3)
- android 电话 (2)
- android 首选项 (5)
- java基础 (16)
- java 多线程 (1)
- java IO (7)
- android工具使用篇 (1)
- android素材资源区 (1)
- android教程资源区 (1)
- java_android异常记录 (5)
- android问题记录 (1)
- android 推荐资源 (1)
- android 源码篇 (3)
- android SDK (2)
- Google Map For Android (2)
- android 项目问题 (2)
- git (0)
- android API 变化 (1)
- MyEclipse (2)
- Swing组件 (1)
- 活法 (0)
- 其它 (2)
- linux (7)
- 菜鸟的java学习笔记 (0)
- 网络 (0)
- 健康 (1)
- Eclipse在Ubuntu下无法双击启动解决办法 (1)
最新评论
-
tydyz:
引用
android SQLiteOpenHelper使用示例 -
tydyz:
[color=red][/color]
android SQLiteOpenHelper使用示例 -
tydyz:
[flash=200,200][flash=200,200][ ...
android SQLiteOpenHelper使用示例 -
梁家大丫头:
写的还不错,不过不是我需要的。
android 理解和使用自定义权限 -
love_java_cc:
牛逼,太齐全了,收藏
MyEclipse 快捷键大全
当有未接电话或短信时,在Android手机的顶部状态栏就会出现一个小图标,提示用户没有处理的快讯,这时用触笔按住状态栏往下拖动(在模拟器里用鼠标点住那个小图标往下拖动),就可以展开并查看这些快讯。Android平台专门提供了NotificationManager来管理状态栏信息,提供了Notification来处理这些快讯信息。因此,我们就可以很轻松地实现这一功能。
首先通过getSystemService方法得到 NotificationManager 对象,我们可以对Notification的内容、图标、标题等属性进行设置;然后通过NotificationManager 对象的 notify方法执行一个Notification快讯。大家也可以去文档里边看看 里边也有 Notification 和 NotificationManager 的讲解 在文档的这个位置 Dev Guide-->Notifying the User ---->Creating Status Bar Notifications 这有一份翻译的还可以 http://blog.csdn.net/iamlazybone/archive/2010/10/22/5959598.aspx如果没有文档可以再这里下载http://www.android123.com.cn/android_kit.html
我们大概要实现一个这样的东西。有四个按钮 我们点击一个按钮 就会发送一个通知消息并且在状态栏显示 通知 当我们查看这个通知消息的时候 我们一点击这个通知消息 就会 跳到另外一个Activity 点击不同的按钮 手机会有不同的反应 比如 震动、或者灯光、其实是没有的 因为我用的是模拟器。 我们要用到2个 Activity 所以也就会用到2个布局文件 先让我们看看运行效果。
man.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button01">
<requestFocus/>
</Button>
<Button
android:id="@+id/Button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button02"
/>
<Button
android:id="@+id/Button03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button03"/>
<Button
android:id="@+id/Button04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button04"/>
</LinearLayout>
另外一个布局文件man2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="这是Activity02 谢谢使用!"
/>
</LinearLayout>
下面分别为2个Activity
Activity02
如果拿着代码去执行 可能、也许、大概、还会遇到 这样一个异常
11-19 17:16:30.122: ERROR/AndroidRuntime(239): java.lang.SecurityException: Requires VIBRATE permission
这是动因为我们代码里边用了震功能 所以要在 AndroidManifest.xml中声明 震动的权限
<uses-permission android:name="android.permission.VIBRATE" />
那就在来几个可能会用到的 权限声明
打电话权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
使用状态栏权限:
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
获取当前或最近运行的任务的信息的权限:
<uses-permission android:name="android.permission.GET_TASKS" />
读取通信录权限:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
设置壁纸权限:
<uses-permission android:name="android.permission.SET_WALLPAPER" />
允许程序设置壁纸hits的权限:
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
使用震动功能权限:
<uses-permission android:name="android.permission.VIBRATE" />
修改删除launcher.db内容权限:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
绑定widget权限:
<uses-permission android:name="android.permission.BIND_APPWIDGET" />
读取launcher.db内容权限:
<uses-permission android:name="net.sunniwell.launcher.permission.READ_SETTINGS" />
修改删除launcher.db内容权限:
<uses-permission android:name="net.sunniwell.launcher.permission.WRITE_SETTINGS" />
源码 见 附件
首先通过getSystemService方法得到 NotificationManager 对象,我们可以对Notification的内容、图标、标题等属性进行设置;然后通过NotificationManager 对象的 notify方法执行一个Notification快讯。大家也可以去文档里边看看 里边也有 Notification 和 NotificationManager 的讲解 在文档的这个位置 Dev Guide-->Notifying the User ---->Creating Status Bar Notifications 这有一份翻译的还可以 http://blog.csdn.net/iamlazybone/archive/2010/10/22/5959598.aspx如果没有文档可以再这里下载http://www.android123.com.cn/android_kit.html
我们大概要实现一个这样的东西。有四个按钮 我们点击一个按钮 就会发送一个通知消息并且在状态栏显示 通知 当我们查看这个通知消息的时候 我们一点击这个通知消息 就会 跳到另外一个Activity 点击不同的按钮 手机会有不同的反应 比如 震动、或者灯光、其实是没有的 因为我用的是模拟器。 我们要用到2个 Activity 所以也就会用到2个布局文件 先让我们看看运行效果。
man.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button01">
<requestFocus/>
</Button>
<Button
android:id="@+id/Button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button02"
/>
<Button
android:id="@+id/Button03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button03"/>
<Button
android:id="@+id/Button04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button04"/>
</LinearLayout>
另外一个布局文件man2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="这是Activity02 谢谢使用!"
/>
</LinearLayout>
下面分别为2个Activity
package xiaohang.zhimeng; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Activity01 extends Activity { // 定义Button Button m_Button1, m_Button2, m_Button3, m_Button4; // 声明通知(消息)管理器 只要知道它是用来管理通知消息就行 NotificationManager m_NotificationManager; Intent m_Intent; PendingIntent m_PendingIntent; // 声明Notification对象 Notification m_Notification; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 初始化NotificationManager对象 Get a reference to the NotificationManager m_NotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); // 获取4个按钮对象 m_Button1 = (Button) findViewById(R.id.Button01); m_Button2 = (Button) findViewById(R.id.Button02); m_Button3 = (Button) findViewById(R.id.Button03); m_Button4 = (Button) findViewById(R.id.Button04); // 点击通知时转移内容也就是从哪个Activity跳到哪个Activity 这里是从Activity01跳到Activity02 m_Intent = new Intent(Activity01.this, Activity02.class); // Pending这个词是“挂起”、“暂挂”的意思 我就理解为一个挂起 或者暂挂的 Intent 临时的留着一会用 xh // E文实在是差看不懂文档 m_PendingIntent = PendingIntent.getActivity(Activity01.this, 0, m_Intent, 0); // 构造Notification对象 它就是一个通知消息对象 我们只要知道我们要在手机最上边状态栏通知消息的时候就用这个对象 m_Notification = new Notification(); // 给按钮m_Button1设置监听器 m_Button1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // 设置通知在状态栏显示的图标 m_Notification.icon = R.drawable.img1; // 当我们发送通知时在状态栏显示的内容 这个显示时暂时的大家试试就知道了 m_Notification.tickerText = "Button1通知内容......."; // 通知时发出默认的声音 这个defaults是Notification的一个int型的变量 // DEFAULT_SOUND是Notification这个类已经定义好的常量直接用就O 了 m_Notification.defaults = Notification.DEFAULT_SOUND; // 设置通知显示的参数 (Context context, CharSequence contentTitle, // CharSequence contentText, PendingIntent contentIntent) // 参数1上下文对象Context 参数2 类似标题Title 这里大家试试 看看那些文字显示在那个位置明白意思就OK m_Notification.setLatestEventInfo(Activity01.this, "xhButton1", "Button1通 知", m_PendingIntent); // 可以理解为执行这个通知 或者说 由NotificationManager对象或者它的一个引用把 // 通知发出去然后就会在状态栏显示了 // 详细信息大家可以查看文档 m_NotificationManager.notify(0, m_Notification); } }); // 下边就不写了 m_Button2.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { m_Notification.icon = R.drawable.img2; m_Notification.tickerText = "Button2通知内容........"; // 通知震动 m_Notification.defaults = Notification.DEFAULT_VIBRATE; m_Notification.setLatestEventInfo(Activity01.this, "Button2", "Button2通知", m_PendingIntent); m_NotificationManager.notify(0, m_Notification); } }); m_Button3.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { m_Notification.icon = R.drawable.img3; m_Notification.tickerText = "Button3通知内容........"; // 通知时屏幕发亮 m_Notification.defaults = Notification.DEFAULT_LIGHTS; m_Notification.setLatestEventInfo(Activity01.this, "Button3", "Button3通知", m_PendingIntent); m_NotificationManager.notify(0, m_Notification); } }); m_Button4.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { m_Notification.icon = R.drawable.img4; m_Notification.tickerText = "Button4通知内容........"; // 通知时既震动又屏幕发亮还有默认的声音 这里用的是ALL m_Notification.defaults = Notification.DEFAULT_ALL; m_Notification.setLatestEventInfo(Activity01.this, "Button4", "Button4通知", m_PendingIntent); m_NotificationManager.notify(0, m_Notification); } }); } }
Activity02
package xiaohang.zhimeng; import android.app.Activity; import android.os.Bundle; public class Activity02 extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //这里就灰常easy了设置个布局文件完事 setContentView(R.layout.man2); } }
如果拿着代码去执行 可能、也许、大概、还会遇到 这样一个异常
11-19 17:16:30.122: ERROR/AndroidRuntime(239): java.lang.SecurityException: Requires VIBRATE permission
这是动因为我们代码里边用了震功能 所以要在 AndroidManifest.xml中声明 震动的权限
<uses-permission android:name="android.permission.VIBRATE" />
那就在来几个可能会用到的 权限声明
打电话权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
使用状态栏权限:
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
获取当前或最近运行的任务的信息的权限:
<uses-permission android:name="android.permission.GET_TASKS" />
读取通信录权限:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
设置壁纸权限:
<uses-permission android:name="android.permission.SET_WALLPAPER" />
允许程序设置壁纸hits的权限:
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
使用震动功能权限:
<uses-permission android:name="android.permission.VIBRATE" />
修改删除launcher.db内容权限:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
绑定widget权限:
<uses-permission android:name="android.permission.BIND_APPWIDGET" />
读取launcher.db内容权限:
<uses-permission android:name="net.sunniwell.launcher.permission.READ_SETTINGS" />
修改删除launcher.db内容权限:
<uses-permission android:name="net.sunniwell.launcher.permission.WRITE_SETTINGS" />
源码 见 附件
发表评论
-
android 自定义dialog Demo
2011-11-11 20:20 4223好久没更新博客了,悲剧的菜鸟 就是这样 木有时间. 最近用 ... -
android Notification使用
2011-06-28 20:11 1867直接上链接吧。。 http://www.liuzhaoc ... -
PreferenceScreen 添加自定义View so easy!
2011-06-28 09:39 4370比较简单了 大家自己看吧。 http://stackove ... -
Introducing the Android UI Utilities project (beta)
2011-06-26 13:46 1903博客有一段时间没更新了,前些天 ADT 更新了 11 ... -
android 普通对话框
2011-04-14 09:15 1905string.xml <?xml versio ... -
android ContextMenu
2011-04-13 14:00 6011ContextMenu 继承自 Menu。上下文菜单不同 ... -
android 菜单例子
2011-04-12 21:44 3848也没什么了 就是一个 android菜单的 小例子 ... -
android 获取屏幕的高度和宽度
2010-12-03 16:57 10113Android中的DisplayMetrics 定义 ... -
android 设置全屏显示 和 自适应屏幕
2010-12-03 15:27 7995这个我直接上代码了,比较简单了。还是来张图看看运行效果吧 ... -
android Task简介
2010-11-30 11:32 2808Task 1、 什么是 Task ? Task 翻译成 ... -
android 中将图片放在屏幕中心的方法,不改变图片的大小
2010-11-29 03:02 4122目前只知道2种方法,第一种是通过 设置 和屏幕的边距 ... -
android LayoutInflater 使用示例
2010-11-27 19:37 4210大家好我们这一节讲的是LayoutInflater的使 ... -
android UI 相关常用类简介
2010-11-27 15:12 13645一、Canvas类android.graphics.Canva ... -
android ListView 使用 示例
2010-11-20 22:00 7004什么是listview? 直白点说就是一个能垂直滚动 ... -
android LayoutParams 简单说明 理解 示例
2010-11-20 00:02 55322简单说说 自己对 android LayoutParam ...
相关推荐
这个例子演示Android 在状态栏添加Notification信息图标及提示,相信大家对这个功能已经不陌生了,手机中安装的APP,一般都会在后台运行,时不时会在手机顶部的状态栏中显示应用的图标,滑出状态栏会看到详细的信息...
在Android开发中,状态栏通知(Notification)是与用户交互的重要方式,即使应用在后台运行,也能通过通知向用户传达信息。本篇文章将详细介绍如何实现Android状态栏通知的默认形式以及自定义设置。 首先,创建默认...
在Android系统中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示消息,即使用户不在使用应用程序也能接收到相关信息。这篇博文“android Notification通知消息学习(NotificationManager)”显然是...
在Android开发中,状态栏(StatusBar)是用户界面不可或缺的一部分,它显示了系统时间、电池状态、网络连接等重要信息。有时候,开发者需要对状态栏进行定制,例如改变颜色、图标或者隐藏/显示状态栏,以实现特定的...
在Android应用开发中,Notification是向用户展示非交互式消息的一种关键机制,它可以在状态栏显示,即使用户不在与应用程序交互时也能提醒用户有新的事件发生。本示例将详细介绍如何在Android中使用Notification来...
此压缩包"Android高级应用源码-状态栏通知小图标,notification通知.zip"显然包含了关于如何在Android应用中实现状态栏通知,特别是定制小图标的示例代码。 状态栏通知通常由三部分组成:通知图标、通知标题和通知...
在Android开发中,状态栏通知(Notification)是与用户交互的一种常见方式,它可以在不干扰用户当前活动的情况下向用户传达信息。本示例是关于如何使用Android Studio创建一个简单的状态栏通知的演示。通过理解并...
在Android系统中,状态栏(StatusBar)是手机屏幕顶部显示时间、电量、网络信号以及通知等信息的区域,它是用户与系统交互的重要组成部分。本文将深入探讨Android状态栏的相关知识点,包括状态栏的定制、通知的管理...
"Android代码-状态栏通知小图标notification通知.rar"这个压缩包很可能是包含了一些示例代码,用于展示如何创建和定制状态栏通知,特别是关于小图标的使用。 首先,我们要理解Android中的状态栏通知是如何工作的。...
在Android开发中,`Notification`是用户界面的一个关键组件,用于在状态栏中显示消息,即使应用程序在后台运行,也能提醒用户有新的活动或事件发生。`Notification`的设计旨在提供一致且非侵入性的用户体验,使得...
状态栏通知小图标,通常被称为`Notification`,是Android系统中一种重要的用户界面元素,用于在状态栏上显示应用的提醒或消息。这些小图标在用户不与应用直接交互时提供了一个简短的信息提示,帮助用户了解应用的...
在Android系统中,`Notification`是开发者用于向用户展示非交互式信息的重要工具,它通常出现在状态栏中,用户可以通过下拉通知栏查看并交互。`Notification`可以在应用不处于前台运行时,依然向用户传达重要的消息...
Notification则是在状态栏中显示信息,用户即使离开应用也能看到。创建一个Notification需要使用`NotificationCompat.Builder`类,设置标题、内容、图标等属性,然后通过`NotificationManager`发送。例如: ```...
首先,Notification在Android中是一个类,位于`android.app.Notification`包下,它用于在状态栏和通知中心展示信息。创建一个Notification通常涉及以下几个步骤: 1. **构建Notification对象**:使用`Notification....
在安卓开发中,Notification是应用与用户交互的重要方式,它能够在状态栏显示消息,即使用户不在应用程序中,也能提醒用户有新的活动或信息。本文将深入解析如何通过Android源码实现一个通知栏常驻的Notification。 ...
在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中向用户展示信息,即使用户不在应用中也能接收到消息提醒。本示例着重讲解了如何创建和使用不同类型的Notification,包括普通...
在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使用户不在使用应用程序时也能提醒用户有新的事件发生。"Android应用源码之notification.zip"这个压缩包很可能是包含了关于...
"android通知栏提示下载进度源码"是一个示例项目,它展示了如何在Android的通知栏创建一个更新下载进度的提示。下面,我们将详细讲解这个知识点。 1. **Android通知栏基础** - Android的通知栏用于展示各种提醒和...