android通知的使用

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

public class TestNotificationActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        /*通知管理器是用来处理通知的系统服务。使用getSystemService方法可以获得对它的引用*/
        String svcName = Context.NOTIFICATION_SERVICE;
        NotificationManager notificationManager;
        notificationManager = (NotificationManager)getSystemService(svcName);
        //通过使用通知管理器,可以触发新的通知,修改现有的通知或者删除那些不再需要的通知。
        
        /**Android提供了使用通知向用户传递信息的多种方式。
         * 1.状态栏图标
         * 2.扩展的通知状态绘制器
         * 3.额外的效果,比如声音和振动
         */
        //创建一个通知
        //选择一个Drawable来作为状态栏图标的显示
        int icon = R.drawable.ic_launcher;
        //当启动通知时在状态栏显示的文本
        String tickerText = "秦哲,你好。";
        //扩展的状态栏按时间顺序排序通知
        long when = System.currentTimeMillis();
        Notification notification = new Notification(icon, tickerText, when);
        
        //notification.number++;  //所表示事件数量,如果设定值大于1,状态栏图标就会被一个小数字覆盖
        
        
        Context context = getApplicationContext();
        //展开的状态窗口中显示的文本
        String expandedText = "我爱你";
        //展开的状态的标题
        String expandedTitle = "ez";
        //当单击展开的文本时,用于启动一个活动的意图。
        Intent intent = new Intent(this, TestNotificationActivity.class);
        PendingIntent launchIntent = PendingIntent.getActivity(context, 0, intent, 0);
        notification.setLatestEventInfo(context, expandedTitle, expandedText, launchIntent);
        
        //要触发一个通知,需要把它和一个整型的引用ID一起传递给NotificationManager的notify方法
        int notificationRef = 1;
        notificationManager.notify(notificationRef, notification);
        
        /**要更新一个已经被触发的通知,需要使用通知管理器重新触发它,并传递给notify方法相同的
         * 引用ID。既可以传递给它一个相同的Notification对象,也可以传递给它一个全新的Notification对象。
         * 只要ID值是相同的,那么新的Notification就会被用来代替状态栏图标以及展开的状态窗口中的内容。
         */
        
        //可以使用引用ID,通过调用通知管理器的cancel方法来取消通知
        //notificationManager.cancel(notificationRef);
        //取消一个通知的操作会把它从状态栏图标中移除,并且把它从扩展状态窗口中清楚。
    }
}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值