第一步.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);
}
};
}
分享到:
相关推荐
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实例"是一个集中的资源,包含了从第三章到第五章的多个示例项目,帮助开发者深入理解和实践SDK的各种功能。 首先,让我们深入探讨一下这些章节可能涵盖的关键知识点: **第四章:...
从基础的UI设计,如活动(Activity)、布局(Layout)和控件(Widgets),到更复杂的特性,如服务(Service)、广播接收器(Broadcast Receiver)、内容提供者(Content Provider)、通知(Notification)、多媒体...
在Android应用开发中,通知(Notification)是一种至关重要的机制,它能够让用户在不直接与应用交互的情况下接收到信息。通知通常出现在状态栏中,并且可以在用户解锁设备后在通知中心查看。下面,我们将深入探讨...
在Android中,我们可以通过定义一个接口,然后在需要发送通知的类中实例化接口,将接口作为参数传递给其他类,从而实现消息的传递。 下面是一个简单的示例: 1. 首先,定义一个接口`BroadcastCallback`: ```java ...
9. Intent和Broadcast:理解Intent在应用程序中的核心作用,以及如何通过Broadcast发送事件。 10. Service应用:学习Service的基本概念、使用方法、生命周期,以及实例分析。 11. 开发步骤:涵盖应用规划、架构设计...
除此之外,Android开发还包括服务(Service)、通知(Notification)以及权限管理等内容。Service可以后台运行,执行长时间的任务;Notification用于在状态栏显示消息,即使应用不在前台也能与用户交互;而随着...
【Android 移动应用开发基础】\n\nAndroid 移动应用开发是构建智能手机和平板电脑应用程序的关键技术,尤其在微课版的教程中,它着重于基础概念和实践技能的传授。本教程涵盖了一些核心知识点,让我们逐一深入探讨。...
《Android Studio实战...本书旨在通过详尽的实例和实践指导,帮助开发者快速掌握Android Studio的使用技巧,高效构建高质量的Android应用。无论是初学者还是有经验的开发者,都能从中受益匪浅,提升自己的开发技能。
`sendNotification()`方法中,我们创建了一个`NotificationCompat.Builder`实例,设置通知的基本信息如图标、标题和内容。同时,我们还添加了一个操作,当用户点击通知时,可以启动主活动。最后,通过`...
第7章 良好的学习开端——Android基本组件介绍之温馨的提醒——Toast和Notification应用 第8章 移动信息仓库——Android的数据存储操作之Android数据存储概述 第8章 移动信息仓库——Android的数据存储操作之轻轻地...
5. **通知(Notification)**:Android的通知机制用于向用户展示重要的信息,本章可能涵盖了创建和管理通知的方法。 第07章可能涵盖的知识点: 1. **服务(Service)**:服务是Android中后台运行的组件,用于执行...
10. **通知(Notification)**:通知系统允许应用在状态栏显示消息,即使用户不在应用内也能接收信息。 11. **权限管理**:Android系统采用权限模型保护用户数据和系统资源,开发者需要声明并获取运行时权限才能...
9. **通知(Notification)**:通知是与用户交互的重要手段,你可以学习如何创建各种类型的通知,包括简单文本通知、带附加信息的通知,以及使用通知渠道(Notification Channels)来提高用户体验。 10. **网络编程...
- 菜单,Action Bar,Dialog,Toast和Notification:教授这些交互元素的设计和实现。 - Handler处理:讲解如何在Android中实现异步更新UI。 5. **Service**: - Service定义:说明Service的用途,它在后台运行以...
2. **AlarmManager**: 结合AlarmManager可以设置定时任务,例如定时启动Service或发送Broadcast。 3. **Widget操作**:Android小部件的点击事件通常会通过PendingIntent来触发不同的操作。 4. **Google Wearable**: ...
本资源“Google Android SDK开发范例大全——示例代码”聚焦于第五章,这部分内容通常会涵盖Android开发中的核心概念和实用技巧,通过具体的代码示例帮助开发者深入理解和实践。 第五章可能包含以下几个关键知识点...
8. **通知与推送**:学习如何使用Notification API创建系统通知,以及如何实现后台服务和GCM/FCM(Google Cloud Messaging/Firebase Cloud Messaging)推送消息。 9. **多线程与异步处理**:掌握AsyncTask、Handler...