android点击系统通知Notification,进入指定的activity

// 创建一个NotificationManager的引用
NotificationManager notificationManager = (NotificationManager)
this.getSystemService(android.content.Context.NOTIFICATION_SERVICE);

    // 定义Notification的各种属性   
    Notification notification =new Notification(R.drawable.icon,   
            "测试", System.currentTimeMillis()); 
    //FLAG_AUTO_CANCEL   该通知能被状态栏的清除按钮给清除掉
    //FLAG_NO_CLEAR      该通知不能被状态栏的清除按钮给清除掉
    //FLAG_ONGOING_EVENT 通知放置在正在运行
    //FLAG_INSISTENT     是否一直进行,比如音乐一直播放,知道用户响应
    notification.flags |= Notification.FLAG_ONGOING_EVENT; 

// 将此通知放到通知栏的”Ongoing”即”正在运行”组中
notification.flags |= Notification.FLAG_NO_CLEAR;
// 表明在点击了通知栏中的”清除通知”后,此通知不清除,经常与FLAG_ONGOING_EVENT一起使用
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
//DEFAULT_ALL 使用所有默认值,比如声音,震动,闪屏等等
//DEFAULT_LIGHTS 使用默认闪光提示
//DEFAULT_SOUNDS 使用默认提示声音
//DEFAULT_VIBRATE 使用默认手机震动,需加上权限
notification.defaults = Notification.DEFAULT_LIGHTS;
//叠加效果常量
//notification.defaults=Notification.DEFAULT_LIGHTS|Notification.DEFAULT_SOUND;
notification.ledARGB = Color.BLUE;
notification.ledOnMS =5000; //闪光时间,毫秒

    // 设置通知的事件消息   
    CharSequence contentTitle ="标题"; // 通知栏标题   
    CharSequence contentText ="内容"; // 通知栏内容   

    //如果需要跳转到指定的Activity,则需要设置PendingIntent 

    Intent notificationIntent =new Intent(A.this, B.class); 

// 点击该通知后要跳转的Activity

    notificationIntent.putExtra("date","需要传递的参数"); 

// FLAG_UPDATE_CURRENT 更新数据,如果有多个PendingIntent,且requestCode相同,则会替换为最新extra数据
   //如果需要通过不同的extra数据,进行处理,就需要requestCode不相同
    int requestCode = new Random().nextInt();
    PendingIntent contentItent = PendingIntent.getActivity(this, requestCode, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);   
    notification.setLatestEventInfo(this, contentTitle, contentText, contentItent);   

// 把Notification传递给NotificationManager
notificationManager.notify(0, notification);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值