主类:
package com.amaker.notification;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.provider.Contacts;
import android.view.View;
import android.widget.Button;
/**
* 通知基础学习
* 如何定义一个通知(通知的一些属性)
* 如何取消通知
* ZZL
*/
public class MainActivity extends Activity implements android.view.View.OnClickListener {
private Button notification_btn;
private Button cancel_btn;
private NotificationManager nm;
private Notification n;
public static final int ID = 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
notification_btn = (Button) findViewById(R.id.notification_button1);
cancel_btn = (Button) findViewById(R.id.cancel_button2);
notification_btn.setOnClickListener(this);
cancel_btn.setOnClickListener(this);
}
//发 出一个通知
void noti(){
//实例化通知管理器
nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
//实例化一个通知
n = new Notification();
//通知上显示的那张小图标
n.icon = R.drawable.icon;
//通知的tickerText,显示一下就消失了
n.tickerText = "tickerText......";
//通知发出时间
n.when = System.currentTimeMillis();
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(), 0);
n.setLatestEventInfo(this, "contentTitle", "contentText", contentIntent);
//通知封装好了后,通过通知管理器把通知发送出去
nm.notify(ID, n);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
//点击按钮,发出一个通知
case R.id.notification_button1:
noti();
break;
//点击按钮取消通知
case R.id.cancel_button2:
nm.cancel(ID);
break;
default:
break;
}
}
}
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:text="Notification"
android:id="@+id/notification_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:text="Cancel"
android:id="@+id/cancel_button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
分享到:
相关推荐
综上所述,这个demo不仅展示了如何创建基础的`Notification`,还涉及到了自定义和进度条的使用,对于学习Android通知功能的开发者来说非常有帮助。同时,通过注释理解代码也是提升编程技能的重要方式。
这个"Android 通知(notification)简单实用Demo"提供了一个基础的实现,包括点击功能,非常适合初学者理解和实践。 一、通知的基本结构 一个Android通知通常由以下几个部分组成: 1. **通知图标**:显示在状态栏...
"NotificationDemo"是一个专门为开发者设计的简单示例,演示了如何在Android应用中创建和管理通知。 通知在Android系统中分为多个层次,包括普通通知、大图通知、媒体控制器通知等。在"NotificationDemo"中,我们...
本教程通过"Android Notification Demo"将深入探讨如何创建和定制各种类型的Android通知。 一、通知的基础概念 通知在Android系统中是一个可视化的元素,通常出现在状态栏中,用户可以通过下拉通知面板查看和管理...
创建一个基础的`Notification`通常涉及以下步骤: - 获取`Notification.Builder`实例:`Notification.Builder(context)`,其中`context`是应用上下文。 - 设置通知的基本信息,如`setContentTitle`和`...
以下是这个"push-notification-demo"可能涉及的关键知识点: 1. **Service Worker**:Service Worker是Web应用程序的后台脚本,可以在用户的浏览器中运行,独立于主线程,允许离线存储和推送通知等功能。在push-...
本教程将详细讲解如何在Android中实现一个基础的通知示例,即"Android Notification demo"。 一、通知的基本结构 Android的通知主要由以下几个部分组成: 1. **通知图标**:显示在状态栏和通知中心,通常是应用的...
PNS 是一种基础设施,由苹果的APNs(Apple Push Notification service)、谷歌的FCM(Firebase Cloud Messaging)等提供,它们负责在不同的操作系统平台上为应用传递推送通知。在iOS和Android系统中,开发者必须注册...
通过`NotificationDemo`这个项目,你可以实践上述各种用法,检查不同场景下通知是否能正常工作。如果遇到某些场景不起作用的情况,可能的原因包括但不限于:权限问题、通知渠道配置错误、Android版本兼容性问题、...
在iOS应用开发中,`Notification`(通知)、`TabBar`(标签栏)和`Navigation`(导航)是三个至关重要的组件,它们共同构建了用户界面的基础架构,提供了优秀的用户体验。下面将详细介绍这三个组件以及它们在实际...
创建和管理Activity是Android开发的基础,Demo中可能会展示如何创建一个新的Activity,以及如何在不同的Activity之间进行跳转。 3. **Intent**:Intent是Android中用于通信的机制,它可以启动一个Activity或Service...
1. **基础Notification** 创建一个基本的Notification需要使用`NotificationCompat.Builder`类。首先,初始化Builder实例,然后设置通知的基本属性,如标题(`setContentTitle`)、正文(`setContentText`)和图标...
在`NotificationDemo`项目中,你可以找到一个简单的示例,演示如何创建和发送一个基础的Notification。这个示例通常包含以下几个关键部分: 1. 创建`NotificationCompat.Builder`实例,设置必要属性。 2. 创建并注册...
这个"android闹钟Demo"提供了一个基础的实现,可以帮助开发者快速理解如何在Android中创建闹钟功能。下面我们将深入探讨这个Demo所包含的知识点。 1. **AlarmManager**: Android中的`AlarmManager`服务是用于安排在...
这个"android音乐播放器Demo代码"提供了一个基础的实现框架,对于学习和理解如何在Android上构建音乐播放功能非常有帮助。下面将详细介绍这个Demo涉及到的关键知识点。 1. **Android SDK**:首先,这个Demo是基于...
最后,`gradlew`脚本用于自动化Gradle构建,`build.gradle`和`settings.gradle`文件定义了项目的构建规则和依赖,而`NotificationDemo.iml`是IntelliJ IDEA的项目配置文件。`.gitignore`文件定义了在Git版本控制系统...
在Android开发领域,掌握各种控件的使用是基础也是关键。这个"100多个Android Demo的集合"是一个非常宝贵的资源库,它包含了丰富的实例,旨在帮助初学者深入理解和实践Android开发中的各种组件和功能。下面,我们将...
4. **通知样式(Notification styles)**:除了基础样式外,还可以创建带有大图、媒体控件或回复功能的通知。例如,使用`NotificationCompat.Builder`的`setStyle()`方法设置样式,如`inboxStyle`、`bigPictureStyle...
在`NotificationDemo`这个项目中,你可能会找到一个完整的示例,包括一个启动服务或者接收广播的类,用于触发Notification的显示,以及对应的布局文件和资源。通过阅读和分析这个示例代码,你可以更深入地理解...
本Demo旨在清晰地展示如何在Java后端集成极光推送服务,以便前端(Android和iOS)能够顺利接收并处理推送通知。 一、极光推送基础概念 1. **注册应用**:首先,开发者需要在极光推送官方网站创建账号,并注册应用...