Android通知Notification

简介: 一个小demo。点击 发送通知 按钮,则发送通知到设备的通知栏。点击 清除通知 则清除通知栏上的消息通知。package zhangphil.

一个小demo。点击 发送通知 按钮,则发送通知到设备的通知栏。点击 清除通知 则清除通知栏上的消息通知。


package zhangphil.notification;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.support.v4.app.NotificationCompat;

public class MainActivity extends Activity {

	private final int NOTIFICATION_ID = 105;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Button send = (Button) findViewById(R.id.send);
		send.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				sendNotification();
			}
		});

		Button clear = (Button) findViewById(R.id.clear);
		clear.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				clearNotification();
			}
		});
	}

	private void sendNotification() {

		NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

		NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
				this);
		mBuilder.setSmallIcon(R.drawable.ic_launcher);
		mBuilder.setContentTitle("通知的标题");
		mBuilder.setContentText("通知的内容");

		Notification notification = mBuilder.build();

		// 缺省设置为当发送通知到通知栏时候:提示声音 + 手机震动
		notification.defaults = Notification.DEFAULT_SOUND
				| Notification.DEFAULT_VIBRATE ;

		// 通知的时间
		notification.when = System.currentTimeMillis();

		// 发送到手机的通知栏
		notificationManager.notify(NOTIFICATION_ID, notification);
	}

	private void clearNotification() {
		NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
		notificationManager.cancel(NOTIFICATION_ID);
	}
}

需要的activity_main.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="发送通知" />
    
     <Button
        android:id="@+id/clear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="清除通知" />

</LinearLayout>


相关文章
|
Android开发 开发者
Android 13 NotificationChannels与Notification的加载流程
Android 13 NotificationChannels与Notification的加载流程
1137 0
Android 13 NotificationChannels与Notification的加载流程
|
6月前
|
API Android开发
Android 监听Notification 被清除实例代码
Android 监听Notification 被清除实例代码
|
7月前
|
API Android开发
31. 【Android教程】状态栏通知:Notification
31. 【Android教程】状态栏通知:Notification
602 1
|
8月前
|
XML Java Android开发
Android Studio App开发之通知推送Notification的讲解及实战(给用户推送信息实战)
Android Studio App开发之通知推送Notification的讲解及实战(给用户推送信息实战)
1015 0
|
Android开发
Android Notification消息提示
Android Notification消息提示
135 2
Android Notification消息提示
|
Java Android开发 容器
Android8.1 MTK平台 SystemUI源码分析之 Notification流程
Android8.1 MTK平台 SystemUI源码分析之 Notification流程
394 0
|
存储 JavaScript 安全
教你如何用一行命令:Android打包->上传->发测试包通知
教你如何用一行命令:Android打包->上传->发测试包通知
280 0
教你如何用一行命令:Android打包->上传->发测试包通知
|
API Android开发 开发者
Android Notification使用
Android Notification使用
388 0
|
Android开发
Android 音乐APP(六)Activity和Notification通讯
Android 音乐APP(六)Activity和Notification通讯
285 0
Android 音乐APP(六)Activity和Notification通讯
|
存储 消息中间件 API
下沉式通知的一种实现 | Android悬浮窗Window应用
当你浏览公众号时来了一条新消息,通知在屏幕顶部会以自顶向下动画的形式入场,而且它是跨界面的全局浮窗(效果如下图)。虽然上一篇中抽象的浮窗工具类已经能实现这个需求。但本文在此基础上再封装一些更加友好的
385 0