`
jk138
  • 浏览: 153796 次
  • 性别: Icon_minigender_1
  • 来自: 茂名
社区版块
存档分类
最新评论

Android实例五:Notification通知和Broadcast结合

阅读更多

第一步.MainActivity.java

    package com.chaowen;

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.view.View.OnClickListener;
import android.widget.Button;
import com.chaowen.R;
public class MainActivity extends Activity {
     private Button sendBtn;
     private static final String MY_ACTION = "com.chaowen.action.MY_ACTION";
     
     
   
     
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        
        sendBtn  = (Button)findViewById(R.id.sendButton01);
       
        
      
        
        //为按钮添加监听器
        sendBtn.setOnClickListener(sendListener);
        
        
    }
    
    
    //发送通知监听器
    private OnClickListener sendListener = new OnClickListener() {
		
		@Override
		public void onClick(View v) {
			Intent intent = new Intent();
		     intent.setAction(MY_ACTION);
		     sendBroadcast(intent);
		}
	};
	
	
}

  第二步,接收类MyReceive.java

    package com.chaowen;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
/**
 * 接收广播,收到广播后启动另一个Activity来显示通知
 * @author chaowen
 *
 */
public class MyReceive extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
	    Intent i = new Intent();
	    //在新的任务中启动Activity
	    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
	    //设置Intent启动的组件名称
	    i.setClass(context, DisplayActivity.class);
	    context.startActivity(i);
	}

}

  第三步.显示通知.DisplayActivity.java

  package com.chaowen;

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.view.View.OnClickListener;
import android.widget.Button;

public class DisplayActivity extends Activity {
    private Button cancelBtnButton;
    private Notification notification;
    private NotificationManager nmManager;
    private static final int ID=1;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    	super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);
        
        cancelBtnButton=(Button)findViewById(R.id.cancelButton02);
        nmManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        notification = new Notification();
        
        int icon = notification.icon=R.drawable.happy;
        String tickerText ="Test Notification";
        long when = System.currentTimeMillis();
        notification.icon=icon;
        notification.tickerText = tickerText;
        notification.when=when;
        
        Intent intent = new Intent(this,MainActivity.class);
        PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
        notification.setLatestEventInfo(this, "my title", "my Content", pi);
        nmManager.notify(ID,notification);
        
        //为按钮添加监听器
        cancelBtnButton.setOnClickListener(cancelListener);
    }
    
    private OnClickListener cancelListener = new OnClickListener() {
		
		@Override
		public void onClick(View v) {
			nmManager.cancel(ID);
			
		}
	};
}
分享到:
评论

相关推荐

    Android入门到精通源代码.

    2.3 Android SDK的下载和安装 2.3.1 下载Android SDK 2.3.2 安装Android SDK 2.3.3 创建Android虚拟设备 2.4 Eclipse的下载和安装 2.4.1 下载和安装Eclipse 2.4.2 安装和配置Eclipse中Android插件 2.5 使用Eclipse...

    androidsdk范例大全源代码android实例

    "androidsdk范例大全源代码android实例"是一个集中的资源,包含了从第三章到第五章的多个示例项目,帮助开发者深入理解和实践SDK的各种功能。 首先,让我们深入探讨一下这些章节可能涵盖的关键知识点: **第四章:...

    androidexample有130多个实例,是现在国内最全的ANDROID实例代码库.zip

    从基础的UI设计,如活动(Activity)、布局(Layout)和控件(Widgets),到更复杂的特性,如服务(Service)、广播接收器(Broadcast Receiver)、内容提供者(Content Provider)、通知(Notification)、多媒体...

    android 通知开发

    在Android应用开发中,通知(Notification)是一种至关重要的机制,它能够让用户在不直接与应用交互的情况下接收到信息。通知通常出现在状态栏中,并且可以在用户解锁设备后在通知中心查看。下面,我们将深入探讨...

    Java Android用接口实现广播通知

    在Android中,我们可以通过定义一个接口,然后在需要发送通知的类中实例化接口,将接口作为参数传递给其他类,从而实现消息的传递。 下面是一个简单的示例: 1. 首先,定义一个接口`BroadcastCallback`: ```java ...

    android 手机开发技术 移动应用开发技术-教学大纲.docx

    9. Intent和Broadcast:理解Intent在应用程序中的核心作用,以及如何通过Broadcast发送事件。 10. Service应用:学习Service的基本概念、使用方法、生命周期,以及实例分析。 11. 开发步骤:涵盖应用规划、架构设计...

    Google Android开发入门指南(第2版)随书光盘(实例源码)

    除此之外,Android开发还包括服务(Service)、通知(Notification)以及权限管理等内容。Service可以后台运行,执行长时间的任务;Notification用于在状态栏显示消息,即使应用不在前台也能与用户交互;而随着...

    Android移动应用开发基础教程(微课版)习题答案1

    【Android 移动应用开发基础】\n\nAndroid 移动应用开发是构建智能手机和平板电脑应用程序的关键技术,尤其在微课版的教程中,它着重于基础概念和实践技能的传授。本教程涵盖了一些核心知识点,让我们逐一深入探讨。...

    Android Studio实战快速高效地构建Android应用

    《Android Studio实战...本书旨在通过详尽的实例和实践指导,帮助开发者快速掌握Android Studio的使用技巧,高效构建高质量的Android应用。无论是初学者还是有经验的开发者,都能从中受益匪浅,提升自己的开发技能。

    往通知栏发通知

    `sendNotification()`方法中,我们创建了一个`NotificationCompat.Builder`实例,设置通知的基本信息如图标、标题和内容。同时,我们还添加了一个操作,当用户点击通知时,可以启动主活动。最后,通过`...

    《Google Android开发入门与实战》

    第7章 良好的学习开端——Android基本组件介绍之温馨的提醒——Toast和Notification应用 第8章 移动信息仓库——Android的数据存储操作之Android数据存储概述 第8章 移动信息仓库——Android的数据存储操作之轻轻地...

    android应用案例开发大全(第3版)源程序6到9章.rar

    5. **通知(Notification)**:Android的通知机制用于向用户展示重要的信息,本章可能涵盖了创建和管理通知的方法。 第07章可能涵盖的知识点: 1. **服务(Service)**:服务是Android中后台运行的组件,用于执行...

    Android应用程序设计

    10. **通知(Notification)**:通知系统允许应用在状态栏显示消息,即使用户不在应用内也能接收信息。 11. **权限管理**:Android系统采用权限模型保护用户数据和系统资源,开发者需要声明并获取运行时权限才能...

    Android开发权威指南 源码

    9. **通知(Notification)**:通知是与用户交互的重要手段,你可以学习如何创建各种类型的通知,包括简单文本通知、带附加信息的通知,以及使用通知渠道(Notification Channels)来提高用户体验。 10. **网络编程...

    android授课计划

    - 菜单,Action Bar,Dialog,Toast和Notification:教授这些交互元素的设计和实现。 - Handler处理:讲解如何在Android中实现异步更新UI。 5. **Service**: - Service定义:说明Service的用途,它在后台运行以...

    Android 之 PendingIntent用法介绍

    2. **AlarmManager**: 结合AlarmManager可以设置定时任务,例如定时启动Service或发送Broadcast。 3. **Widget操作**:Android小部件的点击事件通常会通过PendingIntent来触发不同的操作。 4. **Google Wearable**: ...

    Google Android SDK开发范例大全——示例代码

    本资源“Google Android SDK开发范例大全——示例代码”聚焦于第五章,这部分内容通常会涵盖Android开发中的核心概念和实用技巧,通过具体的代码示例帮助开发者深入理解和实践。 第五章可能包含以下几个关键知识点...

    Hello_Android_美Ed_Burnette著_张波等译(中文版)

    8. **通知与推送**:学习如何使用Notification API创建系统通知,以及如何实现后台服务和GCM/FCM(Google Cloud Messaging/Firebase Cloud Messaging)推送消息。 9. **多线程与异步处理**:掌握AsyncTask、Handler...

Global site tag (gtag.js) - Google Analytics