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

Notification使用

阅读更多



 

代码:
package com.my;

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.provider.ContactsContract.CommonDataKinds.Note;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RemoteViews;
import android.widget.RemoteViews.RemoteView;
import android.widget.TextView;

public class NotificationActivity extends Activity implements OnClickListener {
    private Button btnNotify_all;

    private Button btnNotify_lights;

    private Button btnNotify_sound;

    private Button btnNotify_vibrate;

    private Button btnCancelAll;

    private Button btnCustomview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView textView = (TextView)findViewById(R.id.tv);
        textView.setText("Buhh");
        btnNotify_all = (Button)findViewById(R.id.btnNotify_all);
        btnNotify_all.setOnClickListener(this);
        btnNotify_lights = (Button)findViewById(R.id.btnNotify_lights);
        btnNotify_lights.setOnClickListener(this);
        btnNotify_sound = (Button)findViewById(R.id.btnNotify_sound);
        btnNotify_sound.setOnClickListener(this);
        btnNotify_vibrate = (Button)findViewById(R.id.btnNotify_vibrate);
        btnNotify_vibrate.setOnClickListener(this);
        btnCancelAll = (Button)findViewById(R.id.btnCancelAll);
        btnCancelAll.setOnClickListener(this);
        btnCustomview = (Button)findViewById(R.id.btnCustomView);
        btnCustomview.setOnClickListener(this);

    }

    private void showSimple(int id) {
        // 第一步
        NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        // 第二步
        Notification notification = new Notification(R.drawable.icon, "new message",
                System.currentTimeMillis());
        notification.defaults = id;
        // 第三步
        Intent intent = new Intent(this, NotificationActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
        // 第四步
        notification.setLatestEventInfo(this, "message", "hellow", pendingIntent);
        // 第五步
        notificationManager.notify(R.layout.main, notification);
    }

    private void showLedLight() {
        // 第一步
        NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        // 第二步
        Notification notification = new Notification(R.drawable.icon, "new message",
                System.currentTimeMillis());
        // notification.defaults = Notification.DEFAULT_LIGHTS;
        notification.ledARGB = 0xffffff;
        notification.ledOnMS = 300;
        notification.ledOffMS = 1000;
        notification.flags = Notification.FLAG_SHOW_LIGHTS;
        // 第三步
        Intent intent = new Intent(this, NotificationActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
        // 第四步
        notification.setLatestEventInfo(this, "message", "hellow", pendingIntent);
        // 第五步
        notificationManager.notify(R.layout.main, notification);
    }

    private void cancelAll() {
        NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        manager.cancelAll();
    }

    private void customView() {
        NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        Notification notification = new Notification(R.drawable.icon, "new message",
                System.currentTimeMillis());
        RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.mynotificationview);
        contentView.setImageViewResource(R.id.ivShow, R.drawable.icon);
        notification.contentView = contentView;
        Intent notificationIntent = new Intent(this, NotificationActivity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
        notification.contentIntent = contentIntent;
        notificationManager.notify(0, notification);

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btnNotify_all:
                showSimple(Notification.DEFAULT_ALL);
                break;
            case R.id.btnNotify_lights:
                showLedLight();
                break;
            case R.id.btnNotify_sound:
                showSimple(Notification.DEFAULT_SOUND);
                break;
            case R.id.btnNotify_vibrate:
                showSimple(Notification.DEFAULT_VIBRATE);
                break;
            case R.id.btnCustomView:
                customView();
                break;
            case R.id.btnCancelAll:
                cancelAll();
                break;
            default:
                break;
        }
    }
}

  • 大小: 30.7 KB
分享到:
评论

相关推荐

    iphone notification 使用实例

    本教程将基于“iphone notification 使用实例”这一主题,详细介绍如何在iPhone上实现通知功能。 首先,我们要了解iOS中的通知类型:本地通知(Local Notification)和远程通知(Remote Notification,通常与Apple ...

    android Notification使用大全

    在Android系统中,Notification是应用与用户交互的重要方式,它可以在状态栏中显示信息,即使用户不在使用应用时也能提醒用户有新的事件发生。本文将深入探讨如何在Android中使用Notification,包括基本用法、自定义...

    android Notification使用例子

    本项目是一个基于Android 2.3(Gingerbread)版本的小实例,旨在帮助开发者学习如何使用Notification API创建和管理通知。 首先,创建Notification需要使用`NotificationCompat.Builder`类,它是Android Support ...

    Notification 使用详解(很全)

    下面是对 `Notification` 使用的详细讲解。 首先,创建一个 `Notification` 需要以下步骤: 1. 获取 `NotificationManager` 对象,这是管理通知的核心组件。通过调用 `getSystemService()` 方法并传入 `...

    Android中通知Notification使用实例(振动、灯光、声音)

    本文实例讲解了通知Notification使用方法,此知识点就是用作通知的显示,包括振动、灯光、声音等效果,分享给大家供大家参考,具体内容如下 效果图: MainActivity: import java.io.File; import android....

    Android NOtification 使用

    Notification分为多种类型,包括Toast、StatusBar Notification和Dialog Notification,每种都有其特定的使用场景。 1. Toast Notification: Toast是一种短暂的通知方式,它在屏幕上显示一段时间后自动消失,不会...

    Notification使用详解之一:基础应用

    在消息通知时,我们经常用到两个组件Toast和Notification。特别是重要的和需要长时间显示的信息,用Notification就最合适不过了。当有消息通知时,状态栏会显示通知的图标和文字,通过下拉状态...

    Android Notification 使用方法详解

    Android Notification 使用方法详解 Android Notification 是 Android 系统中的一种重要组件,用于向用户显示重要信息和提示。Android Notification 使用方法详解中,我们将介绍如何使用 Android Notification ...

    Android Notification使用方法总结

    Android Notification使用方法总结 Android Notification是Android系统中的一种重要机制,用于向用户显示重要信息,例如来自应用程序的更新、警报、提醒等。下面是Android Notification使用方法总结的相关知识点: ...

    Push Notification 使用 包含客户端和服务端

    Push Notification,为了是手机应用 keep onlive ,经常会有一个一直运转的后台服务程序,这样的应用使手机特别耗电,现在用了 Push Notification 可以来处理这个问题。

    前端项目-angular-ui-notification.zip

    为了使通知的出现和消失更加平滑,Angular UI Notification 使用了 CSS3 转换。这些转换可以实现如淡入淡出、滑动等动画效果,使得通知的展示更加吸引用户注意力,同时增加了交互的趣味性。 ### 使用方法 1. 引入库...

    notification 使用宝典

    4. **构建并发布Notification**:使用Builder构建出`Notification`对象后,通过`NotificationManager`的`notify()`方法将其发布到系统。`notify()`方法需要一个唯一的通知ID,以区分不同的通知。 此外,`...

    android用户界面之Notification教程实例汇总

    - **内容概述**: 该文章分享了一些高级的Notification使用技巧,例如如何处理复杂的点击事件、如何动态更新Notification的内容等。 **6. 在Android中使用Notification进行提示** - **链接**: ...

    Android Notification使用方法详解

    本篇文章将详细介绍如何在Android 4.0及以上版本中使用Notification,以及如何处理兼容性问题。 ### 链式调用创建Notification 在Android 4.0及以上版本,推荐使用`Notification.Builder`类通过链式调用来构建...

    Notification的使用示例各种效果

    在构建`Notification`时,我们需要使用`NotificationCompat.Builder`类,它是Android Support Library提供的兼容版本,能确保在多个Android版本上运行。 1. **创建基本Notification** 使用`NotificationCompat....

    安卓开发-实现Notification的通知栏常驻.zip.zip

    使用`NotificationCompat.Builder`类来构建一个Notification。首先,需要导入以下库: ```java import android.app.Notification; import android.app.NotificationChannel; import android.app....

    Notification的用法和PendingIntent使用

    Notification 和 PendingIntent 的使用 Notification 是 Android 系统中的一种机制,用于在系统状态栏中显示通知信息,通常用于提醒用户某些事件的发生。PendingIntent 则是 Android 中的一种机制,用于在特定的...

Global site tag (gtag.js) - Google Analytics