- 浏览: 1688548 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 4168好久没更新博客了,悲剧的菜鸟 就是这样 木有时间. 最近用 ... -
android Notification使用
2011-06-28 20:11 1824直接上链接吧。。 http://www.liuzhaoc ... -
PreferenceScreen 添加自定义View so easy!
2011-06-28 09:39 4312比较简单了 大家自己看吧。 http://stackove ... -
Introducing the Android UI Utilities project (beta)
2011-06-26 13:46 1844博客有一段时间没更新了,前些天 ADT 更新了 11 ... -
android 普通对话框
2011-04-14 09:15 1860string.xml <?xml versio ... -
android ContextMenu
2011-04-13 14:00 5955ContextMenu 继承自 Menu。上下文菜单不同 ... -
android 菜单例子
2011-04-12 21:44 3795也没什么了 就是一个 android菜单的 小例子 ... -
android 获取屏幕的高度和宽度
2010-12-03 16:57 10061Android中的DisplayMetrics 定义 ... -
android 设置全屏显示 和 自适应屏幕
2010-12-03 15:27 7924这个我直接上代码了,比较简单了。还是来张图看看运行效果吧 ... -
android Task简介
2010-11-30 11:32 2745Task 1、 什么是 Task ? Task 翻译成 ... -
android 中将图片放在屏幕中心的方法,不改变图片的大小
2010-11-29 03:02 4060目前只知道2种方法,第一种是通过 设置 和屏幕的边距 ... -
android LayoutInflater 使用示例
2010-11-27 19:37 4170大家好我们这一节讲的是LayoutInflater的使 ... -
android UI 相关常用类简介
2010-11-27 15:12 13592一、Canvas类android.graphics.Canva ... -
android ListView 使用 示例
2010-11-20 22:00 6941什么是listview? 直白点说就是一个能垂直滚动 ... -
android LayoutParams 简单说明 理解 示例
2010-11-20 00:02 55270简单说说 自己对 android LayoutParam ...
相关推荐
这个例子演示Android 在状态栏添加Notification信息图标及提示,相信大家对这个功能已经不陌生了,手机中安装的APP,一般都会在后台运行,时不时会在手机顶部的状态栏中显示应用的图标,滑出状态栏会看到详细的信息...
android 状态栏的图标与文字提醒 NotificationManager与Notification
本文主要讲解状态栏通知Notification、NotificationManager,小编觉得非常详细,给大家一个参考,希望对大家学习有所帮助。
首先,发送一个状态栏通知必须用到两个类: NotificationManager 、 Notification。 NotificationManager : 是状态栏通知的管理类,负责发通知、清楚通知等。 NotificationManager 是一个系统Service,必须通过 ...
Android中使用Notification提示消息示例,详细可以参见博客:http://www.cnblogs.com/plokmju/p/3235659.html
这几天做一个小软件在API28(Android 9.0)的模拟器上测试时,发现通知栏无效,经过一番查询,了解到:API26(Android 8.0)以后,引入了**通知渠道(Notification Channels)**这么一个东西来帮助用户管理通知。...
实现android notification的默认形式和自定义
android消息通知栏Notification
Android高级应用源码-状态栏通知小图标,notification通知.zip
Android中使用Notification在通知栏中显示通知示例代码.rar Android中使用Notification在通知栏中显示通知示例代码.rar Android中使用Notification在通知栏中显示通知示例代码.rar
Android实现Notification的通知栏常驻.zip
状态栏通知小图标notification通知.rar
可以设置一条通知,当然可以更新一条通知,我们通过在调用NotificationManager.notify(ID, notification)时所使用的ID来更新它。为了更新你之前发布的通知,你需要更新或者创建一个NotificationCompat.Builder对象,...
NULL 博文链接:https://forlan.iteye.com/blog/2264722
在使用手机时,当有未接来电或者是新短消息时,手机会给出相应的提示信息,这些提示信息通常会显示到手机屏幕的状态栏上。Android也提供了用于处理此类信息的类,他们是Notification和NotificationManager。其中,...
Notification
在使用手机时,当有未接来电或者新短消息时,手机会给出响应的提示信息,这些提示信息通常会显示到手机屏幕的状态栏上。 Android也提供了用于处理这些信息的类,它们是Notification和NotificationManager。其中,...
这个是android notification框架,如有需要请下载。发发发
开发工具是studio,里面的状态栏通知包括:默认的状态栏通知和带进度条的自定义通知,看到网上很多朋友发现状态栏下载会一个劲刷状态栏,我就做了一个,希望能帮助到大家,里面有详细的解释,(非大神,哪有不足请指教...
013_android之消息提示 notification 介绍,很不错。