博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android设置通知Notification
阅读量:5874 次
发布时间:2019-06-19

本文共 3037 字,大约阅读时间需要 10 分钟。

hot3.png

Android系统提供Notification和NotificationManagement两个类来管理实现通知,通过这两个类我们可以显示广播信息的内容,还可以设置通知的铃声、震动、闪光灯。通过Activity
类中的getSystemService这个方法获取NotificationManagement,再实例化Notification,最后再用NotificationManagement发送出去即可。注:获取Notification对象时,android api 11之后已经不推荐使用
notification.setLatestEventInfo()方法了,推荐使用
Notification.Builder 来实例化Notification。样例代码如下:
package com.yeetrack.broadcast;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Intent;import android.graphics.Color;public class MainActivity extends Activity {    private Button button1;    private Button button2;     private Notification notification;    private NotificationManager notificationManager;    private static final int ID = 1;    @Override    protected void onCreate(Bundle savedInstanceState)     {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button1 = (Button)findViewById(R.id.button1Id);        button2 = (Button)findViewById(R.id.button2Id);        notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);        notification = new Notification();        notification.icon = R.drawable.ic_launcher;        notification.tickerText = "我的通知";        notification.when = System.currentTimeMillis();        OnClickListener onClickListener = new OnClickListener()        {            @Override            public void onClick(View v)            {                switch( v.getId())                {                case R.id.button1Id:                    Intent intent = new Intent(MainActivity.this, MainActivity.class);                    PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);                    long[] vibrate = {0,100,200,300};                    Notification.Builder builder = new Notification.Builder(MainActivity.this)                        .setContentIntent(pendingIntent)                        .setSmallIcon(R.drawable.ic_launcher)                        .setTicker("我的消息")                        .setWhen(System.currentTimeMillis())                        .setContentTitle("标题")                        .setContentText("内容")                        .setSound(Uri.parse(Environment.getExternalStorageDirectory().getPath()+"/sound.mp3"))                        .setVibrate(vibrate)                        .setLights(Color.RED, 500, 500);                    notification = builder.build();                    notificationManager.notify(ID, notification);                    break;                case R.id.button2Id:                    notificationManager.cancel(ID);                    break;                }        }    };    button1.setOnClickListener(onClickListener);    button2.setOnClickListener(onClickListener);}}

转载于:https://my.oschina.net/u/147181/blog/164955

你可能感兴趣的文章
清浮动,防止上下margin重叠(浏览器顶部空白崩溃)
查看>>
2018年终总结
查看>>
StringBuffer与StringBuilder
查看>>
同步、异步、阻塞、非阻塞 简析
查看>>
PYthon常用模块 logging 日志
查看>>
BZOJ1257:[CQOI2007]余数之和(整除分块)
查看>>
[Android]HttpPost之post请求传递Json数据
查看>>
在View页面,使用@if(){ }输出判断正确的内容
查看>>
js或jquery如何获取父级、子级、兄弟元素(包括祖级、孙级等)
查看>>
软件测试为什么需要学习Linux的知识?Linux学到什么程度?-log5
查看>>
amazon中文文档
查看>>
CodeVs 1017 乘积最大(DP)
查看>>
智能运维基础设施
查看>>
01.LoT.UI 前后台通用框架分解系列之——小图片背景全屏显示(可自动切换背景)...
查看>>
[BZOJ] 3301: [USACO2011 Feb] Cow Line
查看>>
KNN K近邻算法
查看>>
android post(HTTP设置参数,仿html表单提交)
查看>>
BZOJ1061 [NOI2008]志愿者招募
查看>>
第一次作业:深入源码分析进程模型
查看>>
Pandas 基础(9) - 组合方法 merge
查看>>