`
iaiai
  • 浏览: 2197196 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 控件之Notification

阅读更多
引用

最近一直在研究android,并一边研究一边做应用。其中遇到了把程序通知常驻在Notification栏,并且不能被clear掉的问题。虽然notify()的第一个参数可以写死并clear掉,但这个值我并不想写死,但是这个值如果是随机生成一个数怎么传给Activity,用Intent当中的Bundle是可以传值过去,但是一个Notification消息是没问题,一但有多个消息,这个值就不管用了,大家有什么好的方法?


main.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">
	<Button android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:id="@+id/button"
		android:text="显示消息提示" />
</LinearLayout>


notification_layout.xml布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent" android:layout_height="wrap_content">
	<EditText android:text="启动Notification" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:editable="false"
		android:cursorVisible="false" android:layout_gravity="center_horizontal" />
</LinearLayout>


IaiaiActivity.java类:
package com.iaiai.activity;

import java.util.Date;
import java.util.Random;

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;

/**
 * 
 * <p>
 * Title: IaiaiActivity.java
 * </p>
 * <p>
 * E-Mail: 176291935@qq.com
 * </p>
 * <p>
 * QQ: 176291935
 * </p>
 * <p>
 * Http: iaiai.iteye.com
 * </p>
 * <p>
 * Create time: 2011-6-26
 * </p>
 * 
 * @author 丸子
 * @version 0.0.1
 */
public class IaiaiActivity extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		Button button = (Button) findViewById(R.id.button);
		View.OnClickListener listener = new View.OnClickListener() {

			@Override
			public void onClick(View view) {
				PendingIntent pending = PendingIntent.getActivity(
						IaiaiActivity.this, 0, new Intent(IaiaiActivity.this,
								NotificationActivity.class), 0);

				Notification noticed = new Notification();
				noticed.icon = R.drawable.icon;
				noticed.tickerText = "状态栏通知";

				// noticed.defaults = Notification.DEFAULT_SOUND; // 使用默认的声音
				// noticed.defaults = Notification.DEFAULT_VIBRATE; // 使用默认的震动
				// noticed.defaults = Notification.DEFAULT_LIGHTS; // 使用默认的Light
				// noticed.defaults = Notification.DEFAULT_ALL; // 所有的都使用默认值
				noticed.defaults = Notification.DEFAULT_SOUND;
				
				//设置音乐
				// noticed.sound = Uri.parse("file:///sdcard/notification/ringer.mp3");
				// noticed.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");

				noticed.setLatestEventInfo(IaiaiActivity.this, "这是一个状态栏通知",
						"查看", pending);
				NotificationManager noticedManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
				noticedManager.notify(0, noticed);
			}
		};
		button.setOnClickListener(listener);
	}

	public int getRand() {
		Date date = new Date();
		int year = date.getYear();
		int month = date.getMonth();
		int day = date.getDate();
		return 0;
	}

}


NotificationActivity.java类:
package com.iaiai.activity;

import android.app.Activity;
import android.app.NotificationManager;
import android.os.Bundle;

/**
 * 
 * <p>
 * Title: NotificationActivity.java
 * </p>
 * <p>
 * E-Mail: 176291935@qq.com
 * </p>
 * <p>
 * QQ: 176291935
 * </p>
 * <p>
 * Http: iaiai.iteye.com
 * </p>
 * <p>
 * Create time: 2011-6-26
 * </p>
 * 
 * @author 丸子
 * @version 0.0.1
 */
public class NotificationActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.notification_layout);
		
		Bundle bundle = getIntent().getExtras();
		
		NotificationManager noticedManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
		noticedManager.cancel(0);
	}

}


运行结果:

  • 大小: 14.3 KB
  • 大小: 41.9 KB
分享到:
评论

相关推荐

    Android 所有控件的使用

    以下是一些主要的Android控件及其用法的详细说明: 1. **按钮(Button)**:Button是最常见的控件,用于用户点击触发某个操作。可以通过设置文字、图片或两者的组合来定制按钮外观。 2. **文本输入(EditText)**:...

    Android控件大全以及各布局空间的使用方式

    Android控件是构成用户界面的基础元素,包括按钮(Button)、文本输入框(EditText)、单选按钮(RadioButton)、复选框(CheckBox)、图片(ImageButton)、进度条(ProgressBar)、列表视图(ListView)、网格视图(GridView)、...

    android NotificationDemo

    在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使应用在后台运行也能提醒用户。本示例"android NotificationDemo"着重于如何自定义View来实现更个性化的通知功能。 首先...

    Android源码——多种android控件的Demo_new_40.zip

    "Android源码——多种android控件的Demo_new_40.zip"这个压缩包,便是这样一个宝贵的学习资料,它包含了多个Android控件的示例代码,帮助开发者深入理解和应用这些控件。 1. **基础控件**:Android的基础控件包括...

    Android控件及布局的使用

    ### Android控件及布局的使用知识点详解 #### 第一章:Android基础 ##### 1.1 Android开发环境搭建 - **安装JDK (Java Development Kit)**:Java是Android开发的基础语言,因此首先需要安装JDK。可以从Oracle官网...

    Android 多种android控件的Demo.zip

    这个"Android 多种android控件的Demo.zip"压缩包包含了一系列Android控件的示例代码,非常适合开发者进行参考和学习。让我们深入探讨一下其中可能包含的知识点。 1. **布局管理器(Layout Managers)**:Android...

    一个让你掌握android所有控件的demo

    【Android控件全面解析】 Android系统作为全球最广泛使用的移动操作系统之一,其丰富的用户界面(UI)组件是构建应用程序的基础。这个"一个让你掌握android所有控件的demo"旨在提供一个全面的学习平台,帮助开发者...

    android常用UI控件的使用例子

    在Android应用开发中,UI(用户界面)控件是构建应用程序不可或缺的部分,它们为用户提供与应用交互的方式。这篇博文“android常用UI控件的使用例子”可能会深入探讨一些常见的Android UI组件及其用法,帮助开发者更...

    android控件集合

    本教程将深入探讨Android控件及其使用。 1. 布局管理器(Layouts) 布局管理器是Android UI的基础,它们负责控制控件在屏幕上的排列和对齐。常见的布局包括: - 线性布局(LinearLayout):按照垂直或水平方向...

    Android开发 - 常用控件

    在Android开发中,控件是构建用户界面的基本元素,它们使得用户能够与应用程序进行交互。这篇博客"Android开发 - 常用控件"可能详细介绍了Android开发中的一些核心控件及其使用方法。由于没有直接提供博客的具体内容...

    Android 多种android控件的Demo-IT计算机-毕业设计.zip

    本项目“Android多种android控件的Demo”是一个毕业设计学习资源,旨在帮助开发者熟悉并掌握Android控件的应用。下面将对这个项目中的主要知识点进行详细讲解。 1. **布局管理器(Layouts)**: - **线性布局...

    android服务自启动Service以及BroadcastReceiver和Notification

    android service Notification BroadcastReceiver Intent 安装的服务开机自启动,service定时的打印消息,消息同时显示在通知栏,窗体界面的跳转,自定义控件的开发。系统广播,定时广播,轮询广播等。...

    包含android所有控件demo

    通过这些实践,开发者能够加深对Android控件的理解,提高开发效率,同时也可以学习到如何处理点击事件、响应用户输入、动态加载数据等常见任务。 总之,这个"包含android所有控件demo"的资源是一个宝贵的教育资源,...

    ApiDemos大全 android控件例子代码

    **ApiDemos大全:深入理解Android控件与API实例** `ApiDemos`是Android SDK中的一个示例项目,它包含了大量的Android API演示,对于初学者来说是一个非常宝贵的资源。这个项目展示了Android平台上各种控件的用法...

    Android 常用系统控件 大合集源码

    - Button是Android中最基本的控件之一,用于接收用户的点击事件。它可以显示文本、图片或两者结合。源码中可能包含了不同样式和功能的按钮实现,例如设置自定义背景、点击动画等。 2. **文本框(EditText)** - ...

    Android控件例子

    "Android控件例子"这个主题涵盖了Android系统中的多种常用控件及其应用实例,这对于理解和掌握Android开发至关重要。以下是对这些控件及其用法的详细解释: 1. **按钮(Button)**:按钮是最基本的交互控件,用户点击...

    Android中Notification的用法汇总

    Notification的使用在Android开发中是十分重要的,它用于在用户不直接与应用交互时提供一种信息传递的方式。当应用在后台运行或者用户没有打开应用时,Notification可以在状态栏显示图标和简短信息,吸引用户的注意...

    Android常见控件大集合

    本资料"Android常见控件大集合"旨在为初学者提供一个全面了解和实践Android控件的平台,它包含了一系列可运行的示例代码,帮助开发者快速上手。以下是这个集合中可能涵盖的一些重要控件及其应用: 1. **按钮(Button...

    Android Notification Demo

    在Android开发中,通知(Notification)是应用与用户交互的重要方式之一,特别是在后台运行时,它能向用户提供信息,而不必打开应用。本教程通过"Android Notification Demo"将深入探讨如何创建和定制各种类型的...

Global site tag (gtag.js) - Google Analytics