如何解决android 通知栏不显示的问题
android 8.0 以后的版本,在创建通知栏的时候,加了一个channelId的东西。要想在上述版本中显示通知,总共分两步
1.创建Channel
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- String channelId = "whatever"; //根据业务执行
- String channelName = "whatever conent"; //这个是channelid 的解释,在安装的时候会展示给用户看
- int importance = NotificationManager.IMPORTANCE_HIGH;
- createNotificationChannel(channelId, channelName, importance);
- }
2.引用
- Notification notification = new Notification.Builder(this,"whatever") //引用加上channelid
- .setSmallIcon(R.drawable.donkey)
- .setWhen(System.currentTimeMillis())
- .setContentTitle("随便")
- .setContentText("随随便便写")
- .setContentIntent(pendingIntent)
- .build();
为了兼容android所有版本,最好在代码里做一下适配
- manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
- Intent intent = new Intent(this, AudioPlayerActivity.class);
- intent.putExtra("Notifiction",true);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- String channelId = "whatever"; //根据业务执行
- String channelName = "whatever conent"; //这个是channelid 的解释,在安装的时候会展示给用户看
- int importance = NotificationManager.IMPORTANCE_HIGH;
- createNotificationChannel(channelId, channelName, importance);
- }
- PendingIntent pendingIntent = PendingIntent.getActivity(this,1,intent,PendingIntent.FLAG_UPDATE_CURRENT);
- Notification notification = null;
- if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
- notification = new Notification.Builder(this,"whatever") //引用加上channelid
- .setSmallIcon(R.drawable.donkey)
- .setWhen(System.currentTimeMillis())
- .setContentTitle("随便")
- .setContentText("随随便便写")
- .setContentIntent(pendingIntent)
- .build();
- }else{
- notification = new Notification.Builder(this)
- .setSmallIcon(R.drawable.donkey)
- .setWhen(System.currentTimeMillis())
- .setContentTitle("随便")
- .setContentText("随随便便写")
- .setContentIntent(pendingIntent)
- .build();
- }
- manager.notify(1,notification);
如何解决android 通知栏不显示的问题的更多相关文章
- 解决Android Studio 无法显示Layout视图问题
在Android Studio 当中,如果你选择的SDK的版本 与你所显示的视图版本不一致时,会出现这个错误 Exception raised during rendering:com/android ...
- 解决Android Graphical Layout 界面效果不显示
解决Android Graphical Layout 界面效果不显示 qq463431476
- 不完全解决Android微信HTML5 播放视频的问题(不显示控制条,可交互)
首先你需要知道以下内容: http://ad.weixin.qq.com/learn/2-3-3--%E9%80%9A%E7%94%A8%E5%BA%93 这是微信为广告商开放的API,我一直认为只有 ...
- Android通知栏介绍与适配总结(上篇)
此文已由作者黎星授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 由于历史原因,Android在发布之初对通知栏Notification的设计相当简单,而如今面对各式各样的通知 ...
- Android通知栏介绍与适配总结
由于历史原因,Android在发布之初对通知栏Notification的设计相当简单,而如今面对各式各样的通知栏玩法,谷歌也不得不对其进行更新迭代调整,增加新功能的同时,也在不断地改变样式,试图迎合更 ...
- 解决 Android Studio 乱码问题
http://www.eoeandroid.com/thread-275485-1-1.html 很多同学都安装了Android Studio,但是发现中文是乱码,其实这个很好解决的.在IDE里点击F ...
- Android --通知栏Notification
参考博客:Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它) //创建一个通知栏的Builder构造类 (Create a Notification Bui ...
- Android 通知栏用法例子
当程序意外退出时,可以去掉通知栏上显示的图标 1.创建TestNotificationActivity activity类, package com.notioni.test.notification ...
- Android在ListView显示图片(重复混乱闪烁问题)
Android在ListView显示图片(重复混乱闪烁问题) 1.原因分析 ListView item缓存机制: 为了使得性能更优,ListView会缓存行item(某行相应的View). ListV ...
随机推荐
- 6.Ansible Roles角色实战
==Roles小技巧:== 1.创建roles目录结构,手动或使用ansible-galaxy init test roles 2.编写roles的功能,也就是tasks. nginx rsyncd ...
- 松软科技web课堂:JavaScript Math 对象
JavaScript Math 对象允许您对数字执行数学任务. 实例 Math.PI; // 返回 3.141592653589793 Math.round() Math.round(x) 的返回值是 ...
- 一条简单的更新语句,MySQL是如何加锁的?
看如下一条sql语句: # table T (id )) delete : MySQL在执行的过程中,是如何加锁呢? 在看下面这条语句: : 那这条语句呢?其实这其中包含太多知识点了.要回答这两个问题 ...
- CentOS 7怎么删除mariadb
参考链接:https://www.cnblogs.com/ytkah/p/10876824.html
- vue-property-decorator和typescript结合构建的class类组件,父组件触发子组件方法的方式
vue-property-decorator和typescript结合构建的class类组件,父组件触发子组件方法的方式 class类组件示例 Father类组件 <template> & ...
- python连接sqlite3
一.了解sqlite sqlite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是用C写的,而且体积很小,所以经常被集成到各种应用程序中,甚至在IOS和Android的APP中都可以 ...
- C++ Debug 模式下程序崩溃: Expression: is_block_type_valid(header->block_use)
出现这样的错误,可能有很多种原因,而我出现崩溃的原因是由于代码中定义了vector容器, 未对它进行初始化操作导致的, 只要对它的大小进行初始化操作就行了 崩溃代码: vector<Rect& ...
- [译]Vulkan教程(13)图形管道基础之Shader模块
[译]Vulkan教程(13)图形管道基础之Shader模块 Shader modules Unlike earlier APIs, shader code in Vulkan has to be s ...
- 深入浅出14个Java并发容器
前言 不考虑多线程并发的情况下,容器类一般使用ArrayList.HashMap等线程不安全的类,效率更高.在并发场景下,常会用到ConcurrentHashMap.ArrayBlockingQueu ...
- vmalloc/vfree问题思考记录
arm 32 用户进程陷入内核态通过vmalloc/vfree分配内存的流程 内核在更新非连续内存区对应的页表项是非常懒惰的.--<深入理解linux内核> arm 32 只有一个PGD ...