Notification(一)——基础知识使用示例

main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
   >

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button"
        android:textSize="20sp"
        android:layout_centerInParent="true"
        />

</RelativeLayout>

 

another.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
   >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/newActivity"
        android:textSize="20sp"
        android:layout_centerInParent="true"
        />

</RelativeLayout>

 

MainActivity如下:

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
/**
 * Demo描述:发送系统通知
 * 注意:
 * 1 PendingIntent的使用
 * 2 权限申请
 *
 */
public class MainActivity extends Activity {
    private Button mButton;
    private final int FIRST=1;
    private final int SECOND=2;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}
    private void init(){
    	mButton=(Button) findViewById(R.id.button);
    	mButton.setOnClickListener(new ButtonOnClickListenerImpl());
    }
    private class ButtonOnClickListenerImpl implements OnClickListener{
		@Override
		public void onClick(View v) {
          NotificationManager manager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
          Intent firstIntent=new Intent();
          PendingIntent firstPendingIntent=PendingIntent.getActivity(MainActivity.this, 0, firstIntent, 0);
          Notification firstNotification=new Notification();
          //设置通知的图标
          firstNotification.icon=R.drawable.ic_launcher;
          //设置状态栏的通知提示信息
          firstNotification.tickerText=getResources().getString(R.string.firstNotification_ticker);
          //设置通知发送时间
          firstNotification.when=System.currentTimeMillis();
          //采用系统默认的声音,震动,闪光灯
          firstNotification.defaults=Notification.DEFAULT_ALL;
          //打开应用程序后图标消失
          firstNotification.flags|=Notification.FLAG_AUTO_CANCEL;
          //设置通知的标题和内容,以及点击通知后的相应操作.此处无操作.
          //注意:如果将该方法最后一个参数设置为null,则报错
          firstNotification.setLatestEventInfo(MainActivity.this,
        		  getResources().getString(R.string.firstNotification_title),
        		  getResources().getString(R.string.firstNotification_content),
        		  firstPendingIntent);
          //发送第一个通知
          manager.notify(FIRST, firstNotification);

          Intent secondIntent=new Intent(MainActivity.this,AnotherActivity.class);
          PendingIntent secondPendingIntent=PendingIntent.getActivity(MainActivity.this, 0, secondIntent, 0);
          Notification secondNotification=new Notification();
          //设置通知的图标
          secondNotification.icon=R.drawable.ic_launcher;
          //设置状态栏的通知提示信息
          secondNotification.tickerText=getResources().getString(R.string.secondNotification_ticker);
          //设置通知发送时间
          secondNotification.when=System.currentTimeMillis();
          //采用系统默认的声音,震动,闪光灯
          secondNotification.defaults=Notification.DEFAULT_ALL;
          //打开应用程序后图标消失
          secondNotification.flags|=Notification.FLAG_AUTO_CANCEL;
          //设置通知的标题和内容,以及点击通知后的相应操作.此处为打开指定的Activity
          //注意:如果将该方法最后一个参数设置为null,则报错
          secondNotification.setLatestEventInfo(MainActivity.this,
        		  getResources().getString(R.string.secondNotification_title),
        		  getResources().getString(R.string.secondNotification_content),
        		  secondPendingIntent);
         //发送第二个通知
          manager.notify(SECOND, secondNotification);

		}

    }
}

 

AnotherActivity如下:

import android.app.Activity;
import android.os.Bundle;
public class AnotherActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.another);
	}
}

 

时间: 2025-01-21 17:28:43

Notification(一)——基础知识使用示例的相关文章

在HTML中插入JavaScript代码的示例_基础知识

 在HTML文档中的任何地方可包括JavaScript代码.但也有以下的最佳方法来包含JavaScript在HTML文件.     在 <head>...</head> 部分.     在 <body>...</body> 部分.     在<body>...</body> 和<head>...</head> 部分.     脚本和外部文件,然后包括在<head>... </ head>

js创建对象的区别示例介绍_基础知识

A : var obj1 = obj2 = new Object(); 与 B : var obj1 = new Object(), obj2 = new Object(); 是两种不同的赋值方式,导致的结果也不一样,千万要注意喽- A 的 会将2个对象指向同一内存地址,导致两个对象的内容一致 var t1 = t2 = new Object(); t1.name = 'hello'; t2.name = 'kao'; t1.name = null; alert(t2.name); // 结果为

JavaScript 函数模式详解及示例_基础知识

JavaScript设计模式的作用是提高代码的重用性,可读性,使代码更容易的维护和扩展 在javascript中,函数是一类对象,这表示他可以作为参数传递给其他函数:此外,函数还可以提供作用域. 创建函数的语法 命名函数表达式 //命名函数表达式 var add = function add(a,b){ return a+b; }; var foo = function bar() { console.log(foo === bar); }; foo();//true 可见,他们引用的是同一函数

Javascript中eval函数的使用方法与示例_基础知识

定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. 返回值 通过计算 string 得到的值(如果有的话). 说明 该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回.因此请不要为 eval() 函数传递 String 对象来作为参数. 如果试图覆盖 eval

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

[C++ 面试基础知识总结]字符串,向量和数组

[C++ 面试基础知识总结]字符串,向量和数组 参考书籍:<C++ Primer> 目录 C 面试基础知识总结字符串向量和数组 目录 string string的读写 stringsize_type类型 string对象和字面值相加 vector容器 vector的初始化 使用vector的注意事项 迭代器 迭代器运算符 使用迭代器实现二分查找 数组 初始化和赋值 字符数组 数组与指针 C风格字符串 多维数组中的指针 string string的读写 #include <iostream

PHP新手总结的PHP基础知识

看了些PHP的基础知识,自己在这里总结下: 1.在HTML嵌入PHP脚本有三种办法: <scriptlanguage="php">//嵌入方式一echo("test");</script> <?//嵌入方式二echo"<br>test2";?> <?php//嵌入方式三echo"<br>test3";?> 还有一种嵌入方式,即使用和Asp相同的标记<

新手学动态网页制作技术PHP的基础知识总结

看了些PHP的基础知识,自己在这里总结下: 1.在HTML嵌入PHP脚本有三种办法: <scriptlanguage="php">//嵌入方式一echo("test\");</script><?//嵌入方式二echo"<br>test2";?><?php//嵌入方式三echo"<br>test3";?> 还有一种嵌入方式,即使用和Asp相同的标记<%

敏捷测试(7) 基于story的敏捷基础知识

基于story的敏捷基础知识----迭代启动会.迭代回顾会 除需求讲解意外,需要所有团队成员参加的会议仅有两个,分别是"迭代启动会"和"迭代回顾会". (1)迭代启动会 在迭代开始之前,需要召开迭代启动会,目的有以下两个: 明确迭代周期,即上线时间: 明确迭代目标,即以什么样的优先级,交付哪些story. 在明确了迭代周期和上线时间后,按照前面提到的"迭代规划"来开迭代启动会即可,在此不再赘述. (2)迭代回顾会 在每个迭代结束后都有迭代回顾会,