最近有个需求,说要弄个锁屏通知,通知倒是做过很多了,锁屏通知还真没弄过,经过一番研究,这里做个记录,方便搬砖。

话不多少,直接上效果图:

直接上代码:

安卓系统7以及以下:

Notification.MediaStyle style = new Notification.MediaStyle();Intent intent = new Intent(this,MainActivity.class);PendingIntent pi = PendingIntent.getActivity(this,0,intent,0);NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);Notification notification = new Notification.Builder(this).setContentTitle("这是测试通知标题")  //设置标题.setContentText("这是测试通知内容") //设置内容.setWhen(System.currentTimeMillis())  //设置时间.setSmallIcon(R.mipmap.ic_launcher)  //设置小图标  只能使用alpha图层的图片进行设置.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))   //设置大图标.setContentIntent(pi).setStyle(style).setAutoCancel(true).build();manager.notify(1,notification);

关键在于要用这个MediaStyle,此代码运行在Android11、12 没问题,but,

需要指定目标版本为23到25,如图:

defaultConfig {applicationId "com.example.myapplication"minSdk 23targetSdk 25versionCode 1versionName "1.0"}

安卓系统8.0及以上:

由于8.0以上改变比较大,要求必须使用通知渠道,不然无法显示通知,

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);String channelId = "imservice";String channelName = "前台通知渠道测试";String description = "测试内容";int importance = NotificationManager.IMPORTANCE_HIGH;// 这个重要等级设置低的话,需要手动去设置页面打开通知渠道NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);channel.setSound((Uri) null, (AudioAttributes) null);channel.setDescription(description);channel.enableVibration(true);//设置振动notificationManager.createNotificationChannel(channel);Intent intent = new Intent(this, MainActivity.class);PendingIntent pi = PendingIntent.getActivity(this,0,intent ,0);int notifyID = 1;Notification notification = new Notification.Builder(this, channelId).setContentTitle("通知标题").setContentText("通知内容").setLargeIcon(BitmapFactory.decodeResource(this.getResources(), R.mipmap.ic_launcher)).setSmallIcon(R.mipmap.ic_launcher).setContentIntent(pi).setStyle(new Notification.MediaStyle()).setAutoCancel(true).build();notificationManager.notify(notifyID, notification);}

一样的,要想通知显示在锁屏界面,这个MediaStyle很重要,

defaultConfig {applicationId "com.example.myapplication"minSdk 23targetSdk 30versionCode 1versionName "1.0"}

好了,又可以愉快玩耍了。

Android开发官网通知地址:

通知概览  |  Android 开发者  |  Android Developers

demo    android锁屏通知小DEMO-Android文档类资源-CSDN下载

android 锁屏通知相关推荐

  1. Android Notification不显示浮动通知,不显示锁屏通知

    问题 不显示浮动通知,不显示锁屏通知. 解决 1. 首先手机得先开启权限 应用详情 -> 自定义通知 -> 开启对应的权限 2. 设置Notification的flag Notificat ...

  2. android锁屏显示应用程序,今日应用:微软又给 Android 做了一款锁屏应用

    微软又做了一款 Android 锁屏应用,质量还不错.如果你已经设置了锁屏,Picturesque可能让你再解锁一次你真的需要在锁屏就处理这么多任务吗? 微软又来给 Android 提供应用了,他们昨 ...

  3. iScreenLocker 3.1.8 安卓锁屏通知--苹果一样的体验

    *软件介绍: 苹果锁屏通知(iScreenLocker)是一款android上ios风格的锁屏软件.它颠覆安智通知设计,将原来状态栏的通知搬到锁屏界面上来,能够在桌面轻松收发短信,微博,微信等消息.它 ...

  4. android锁屏应用系统排行榜,重塑安卓手机的20大锁屏应用程序

    1. AcDisplay 它是一个简单的设计android锁屏应用程序,以简约的方式处理通知.您可以直接从锁定屏幕访问应用程序.它具有使用传感器唤醒设备的活动模式. 兼容性 - Android 4.1 ...

  5. [Android] Android 锁屏实现与总结 (一)

    实现锁屏的方式有多种(锁屏应用.悬浮窗.普通Activity伪造锁屏等等).但国内比较主流并且被广泛应用的Activity伪造锁屏方式. 实例演示图片如下: 系列文章链接如下: [Android] A ...

  6. Android 锁屏键和home键分开处理

    在做视频直播的时候遇到一个问题,就是Android锁屏状态下与home键状态下SurfaceView的生命周期发生的改变是不相同的. 因为home键与锁屏的时候activity都会走onPause() ...

  7. jQuery仿Android锁屏图案应用

    jQuery仿Android锁屏图案应用 在线演示 本地下载 posted @ 2018-12-03 14:08 栖息地 阅读(...) 评论(...) 编辑 收藏

  8. jQuery仿Android锁屏图案应用插件

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. Android锁屏实现与总结

    Android锁屏实现与总结 Android锁屏实现与总结(网易云阅读) 一.自定义锁屏基本原理 二.重要步骤 1.广播注册 2.Activity设置 3.按键的屏蔽 4.滑屏解锁 5.Event b ...

最新文章

  1. 一些有用的Python问题
  2. discoGAN 论文解读
  3. OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑
  4. 卷王李富贵算法每日一题--分治算法(四)--循环比赛
  5. 灵眸action_DJI OSMO Action 灵眸运动相机
  6. MyBatis之ResultMap简介,关联对象…
  7. P2966 [USACO09DEC]牛收费路径Cow Toll Paths
  8. 【原创】Linux 菜鸟入门记录 常用命令 常用软件
  9. 【MATLAB教程案例11~20总结】优化类算法matlab仿真经验和技巧总结
  10. 卡尔曼滤波理论讲解与应用(matlab和python)
  11. java近义词,虚拟的近义词
  12. MacOS 系统盘瘦身,对/System/Library开刀
  13. 手把手教你玩转OpenWRT路由器系统,视频教程合集
  14. 股票的压力位和支撑位
  15. 关于微软学术搜索项目
  16. SpringMVC使用HandlerExceptionResolver实现全局异常处理器
  17. 唐诗android代码,Android 唐诗宋词软件(源码讲解)
  18. MacOS QQ红包助手 (消息防撤回、自动抢红包)
  19. SpringCloud精讲课件(内附源码)
  20. 关于判断一个点是否落在矩形内

热门文章

  1. json stm8s103 解析_STM8 C语言精品编程100例 PDF 超清版
  2. 模拟电子技术-信号产生电路
  3. 阴阳师服务器维护 2月11,阴阳师2月11日维护延迟到几点 什么时候开服
  4. 【Python游戏】Python实现低配版王者荣耀,除了没有打野啥都有,你确定不心动嘛?
  5. javascript 优雅实现时间格式化
  6. 小爱情、小幸福、一辈子
  7. 分布式事务(二)、刚性事务之 2PC、3PC
  8. 随机生成10位数的字符串ID
  9. 面板门限回归模型及Stata
  10. 第一波瓜果盲盒发出去了,我有太多话要说!