首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android通知不会出现,但代码运行时没有错误

可能是由以下几个原因导致的:

  1. 通知权限未开启:在Android系统中,应用需要获取通知权限才能显示通知。如果用户在应用安装时没有授予通知权限,或者在应用设置中关闭了通知权限,那么应用就无法显示通知。解决方法是在应用设置中打开通知权限。
  2. 通知渠道未创建或未正确配置:从Android 8.0(API级别26)开始,引入了通知渠道的概念,开发者需要创建并正确配置通知渠道才能显示通知。如果应用没有创建通知渠道,或者通知渠道的重要性级别设置不正确,那么通知可能不会显示。解决方法是在应用代码中创建并正确配置通知渠道。
  3. 通知被取消或被清除:如果应用发送了通知,但用户在通知栏中将其取消或清除,那么通知将不再显示。解决方法是在应用代码中检查通知的状态,并在必要时重新发送通知。
  4. 通知被应用自身逻辑屏蔽:应用可能在代码中对通知进行了逻辑判断,如果判断条件不满足,则不会发送通知。解决方法是检查应用代码中与通知相关的逻辑,确保通知能够正常发送。

总结起来,Android通知不会出现,但代码运行时没有错误可能是由于通知权限未开启、通知渠道未创建或未正确配置、通知被取消或被清除、通知被应用自身逻辑屏蔽等原因导致的。解决方法是检查并确保通知权限开启、正确创建和配置通知渠道,并检查应用代码中与通知相关的逻辑。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板

文章目录 一、 报错信息 二、 解决方案 一、 报错信息 ---- 从 GitHub 上将代码克隆到本地 , 调试程序时发现 , 没有 Logcat 面板 , 到菜单栏 / View / Tool Windows...中也没有看到 Logcat 面板设置 ; 二、 解决方案 ---- 注意观察当前界面已经连的设备中显示的是 " Loading Devices " , 说明是 Android 设备相关设置问题 ;...Android SDK ; 配置 Android SDK 后 , 点击 Apply 应用按钮 , 然后点击 OK 按钮 , 此时应用会重新构建 ; 然后切换到 " Facets " 选项卡 , 点击图中的..." + " 加号按钮 , 在弹出的下拉菜单中选择 " Android " 选项 , 在之后弹出的 " Choose Module " 对话框中 , 选择本 Module 应用 , 出现如下界面..., 说明设置成功 , 点击 Apply 按钮 , 应用该设置 , 此时 Logcat 面板已经出现 ;

1.5K00

错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板 ( 2021年08月28日最新解决方案 )

文章目录 前言 一、 报错信息 二、 解决方案 前言 在之前的博客 【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板 中 , 处理了该问题 , 不过时去年的解决方案...应用后 , 发现没有 Logcat 面板 ; 在 菜单栏 " View | Tool Windows | Project " 中 , 没有对应的 Logcat 选项 ; 二、 解决方案 ----...首先查看一下 Android 的 compileSdkVersion 和 targetSdkVersion 版本号 30 ; 在 Project 面板中 , 点击右键 , 在弹出的菜单中 , 选择...选项 , 设置完毕的样式 , 然后点击 Apply 和 OK 按钮 ; 此时显示出 Logcat 按钮 ; 但是此处有出现新问题 , 弹出 Please configure Android SDK...提示 , 并且没有日志输出 ; 点击 configure 按钮 , 弹出如下界面 : 点击 Module SDK 下拉菜单 , 选择 Android API 30 ; 这个 30 是之前看的 Flutter

2.5K30

Android 13运行时权限变更一览

至于申请运行时权限的代码都是同样的模板,并没有什么特别的地方。...在代码中申请权限时也应该做出同样的逻辑处理才行,这里就不再贴出了。 通知运行时权限 通知运行时权限可以说是Android 13的重磅功能之一。...先说一下怎样在Android 13上申请发送通知权限吧,其实和一般的运行时权限并没有什么两样。...也就是说,如果用户在Android 12上将我们应用的通知给屏蔽了,那么该设备升级到Android 13时,我们的应用也不会拥有发送通知权限。...只要用户在Android 12上没有明确屏蔽我们应用的通知,那么该设备升级到Android 13后,我们的应用将会自动被授予发送通知权限。

2.9K30

Android 13 适配指南

" /> 通知Android R 上设置里开始支持在设置里对应用的通知权限进行管理,但是应用自身是无法修改应用级别的通知权限,所以 App 无法知道自身有没有发送通知的权限 「所以在 Android...13 里增加了通知运行时权限」,其中 Android 13 (33) 的通知会根据正在运行的应用程序的目标 API 级别进行不同的处理,「不过不管应用程序的目标API级别如何,Android 13...权限,「此权限的级别为“dangerous”」,因此 App 需要向用户显示运行时提示才能被授予权限(也就是代码里调用权限申请,在设置里打开不行),未被授予权限的App 的通知将被系统自动删除; 如果应用以...应用程序可以触发撤销授予调用 API 的包的一个或多个运行时权限,不需要访问特定运行时权限控制 API 的应用程序可以自行撤销这些权限,这样用户就可以确保这些应用程序不会在不知情的情况下使用这些API。...尽管从技术上讲,任何应用都可以清除全局剪贴板中的主内容(只要它们是前台应用或 Android 10+ 上的默认输入法), Android 本身不会自动清除剪贴板。

4.6K31

Java 进阶巩固:什么是注解以及运行时注解的使用

什么是注解 注解是一种元数据(描述数据的数据) 描述作用,不会直接生效,需要在编译前/运行时获取注解信息 代码检查 注解简单的说就是以 @ 开头的一个字符串,在 Android Studio 默认是黄色高亮...,用于标记那些不应该被使用的代码,如果使用了过时的代码,编译器会发出警告 @SafeVarargs : 空注解,(varargs 可变参数)用于标记构造函数或者方法,通知编译器,这里的可变参数相关的操作保证安全...@FunctionInterface : Java SE 8 出现的,用于通知编译器,这个类型是 function 接口 @SuppressWarning:抑制错误,可以用于标记整个类、某个方法、某个属性或者某个参数...,比如 Java 代码,xml 代码等; 运行时处理:我们可以在运行时根据注解,通过反射获取具体信息,然后做一些操作。...总结 黑科技、低性能 使用注解往往可以实现用非常少的代码作出匪夷所思的事情,比如 ButterKnife。 被人诟病的是,运行时注解需要使用大量 Java 反射而引起较为严重的性能问题。

87860

Java 进阶巩固:什么是注解以及运行时注解的使用

什么是注解 注解是一种元数据(描述数据的数据) 描述作用,不会直接生效,需要在编译前/运行时获取注解信息 代码检查 注解简单的说就是以 @ 开头的一个字符串,在 Android Studio 默认是黄色高亮...,用于标记那些不应该被使用的代码,如果使用了过时的代码,编译器会发出警告 @SafeVarargs : 空注解,(varargs 可变参数)用于标记构造函数或者方法,通知编译器,这里的可变参数相关的操作保证安全...@FunctionInterface : Java SE 8 出现的,用于通知编译器,这个类型是 function 接口 @SuppressWarning:抑制错误,可以用于标记整个类、某个方法、某个属性或者某个参数...,比如 Java 代码,xml 代码等; 运行时处理:我们可以在运行时根据注解,通过反射获取具体信息,然后做一些操作。...总结 黑科技、低性能 使用注解往往可以实现用非常少的代码作出匪夷所思的事情,比如 ButterKnife。 被人诟病的是,运行时注解需要使用大量 Java 反射而引起较为严重的性能问题。

82460

安卓13又来了?快!扶起我来!

通知这么重要竟然不需要用户同意就可以直接弹出,当然你可以在设置中进行手动关闭,这对于大多数人来说比较困难。...然后在 Android 13(T-33)中终于引入了新的运行时权限——通知权限:POST_NOTIFICATIONS。...但是如果用户拒绝通知权限,他们仍会在前台服务 (FGS) 任务管理器中看到与这些前台服务相关的通知,但不会在抽屉式通知栏中看到这些通知。...通常,系统会等待应用有较长时间在后台运行,而不是在前台运行时如果为了立即撤消权限,那么就需要手动终止所有相关进程,用户体验嘛,让产品自己取舍吧。...AndroidAndroid 6(M-23) 开始引入了运行时权限这个概念(所有权限列表),但是刚出来的时候编写比较费劲,于是乎就出现了一堆三方的权限库以简便申请权限的流程,这里就不一一进行列举了

80640

Android 13 SDK更新内容

(如果没有用到JobSchedular 后台处理程序,这个可以忽略不影响)。...通知运行时权限:Android 13新增了运行时权限:android.permission.POST_NOTIFICATIONS。此更改有助于用户专注于最重要的通知。(通知的权限拆分的更细了。)...(未获取权限下,调用wifi-api 会出现 SecurityException异常) 在后台使用身体传感器需要新的权限:如果应用以 Android 13 为目标平台,并且在后台运行时需要访问身体传感器信息...(该功能默认不开启,如果程序自定义了返回导航,那这个功能就要改代码,如果原先就由系统处理返回导航。那么只需要直接启动功能就可以实现)。...改进了密钥库和KeyMint中的错误报告功能:对于生成密钥的应用,密钥库和 KeyMint 现在提供更详细且更准确的错误指示器。

1.9K10

Android各版本迭代信息集合

Android6.0 增加运行时权限限制 如果你的应用使用到了危险权限,比如在运行时进行检查和请求权限。...修改运行时权限错误Android 8.0 之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。...修改通知 Android 8.0 对于通知修改了很多,比如通知渠道、通知标志、通知超时、背景颜色。其中比较重要的就是通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道。...这应该是个bug,在Android8.0中出现,8.1中被修复。 我们的处理办法就是要么去掉设置方向的代码,要么舍弃透明效果。...这次真的没有关闭功能了,离Android11出来也有一段时间了,还是抓紧适配把。

1.1K20

PermissionX 1.7发布,全面支持Android 13运行时权限

要知道,Android 12只新增了4个运行时权限,Android 11甚至没有新增任何运行时权限。...其实想要适配好这种逻辑是需要写很多额外代码的,而PermissionX帮我们都自动封装了,权限请求就变得简单多了。 通知权限 通知权限可以说是Android 13的重磅功能之一。...这次Android 13则把通知纳入了运行时权限管理,也就是说,以后想要发送通知,得要先经过用户同意授权才行了。 对于用户而言,这确实是非常友善的功能,以后就不用担心再被各种垃圾通知所骚扰了。...然后再来看一下上述代码Android 12上的运行效果。 需要注意还有一个细节,每个应用程序的通知开关在Android 12及以下系统都是默认开启的。...这是一个非常普通的运行时权限,PermissionX并没有对它进行任何适配,也没有什么坑点,需要申请它的时候直接去申请即可。

2.5K10

Android应用性能优化——内存优化(内附一个内存泄露优化实例)

当我们刚开始接触Android时,可能关注的比较多的是如何实现某个功能,学到一定程度的时候,我们会发现无论一个应用多么炫酷,如果运行特别慢,或者说很耗内存,这将会带来很差的用户体验,所以说,性能优化变得尤为重要...中LeakCanary.install(this); 由于static类型的变量是不会被垃圾回收的,所以导致了MainActivity的内存泄露,解决方案就是去掉static,修改代码: // private...mPaint.setStrokeWidth(4); canvas.drawArc(mRect, 0, 180, true, mPaint); } OK,再次运行程序,点击按钮StartActivityB,没有出现...在Android Studio中打开Android Monitor -> Memory,不断点击按钮StartAllocation,不断的发生内存回收和分配,会出现以下状况,这就是我们上边所说的内存抖动...在手机屏幕上点击StartActivityB,在Android Studio中点击Dump Java Heap,选择Package Tree View,找到我们的程序,可以看到MainActivity还没有被垃圾回收

1.3K10

【译】Flutter beta 2 Now

作为新型系统如何为您节省大量调试时间的一个例子,请考虑以下几点: 该代码有一个错误。它将一串字符串和任务传递给一个需要一个小部件列表的小部件。...静态分析并没有捕捉到这一点,因为程序员有意使用松散的静态类型作为待办事项列表(List简写为List)。...在Flutter beta 1中,启动时不会出现错误,只有当用户点击该按钮后,才会通知字符串不能用作小部件: 通过Dart 2中新的完整运行时检查,我们可以避免像这样的“等待发生的错误”,而不是提前失败...,即在代码对泛型类型提出错误要求的时候。...接下来,验证您的代码是否通过了静态分析(从终端,运行flutter analyze或使用Android Studio / IntelliJ或VS代码中的问题视图)。

2.3K30

app功能测试--需要测试哪些要点

比如下图的问题就属于跨年年份未增加的问题: 5.权限设置 当前很多APP的使用依赖于位置,通知,网络等用户权限,例如杭州公交APP,在首次启动时会询问用户是否同意启用定位,通知,网络权限。...针对用户权限,我们可以多关注以下几点: ▲首次启动APP询问是否同意启用权限 ▲消息权限开启时,消息推送是否正常接收(iOS系统应用启用和后台关闭时都应该可以收到;Android系统在后台关闭进程后就不会推送...分辨率,机型(不同厂家ROM)等纬度进行适配测试 ▲通常选择在少数主流设备上执行全向的用例,在其他兼容性范围内的设备上覆盖主要功能的测试用例; ▲关注各功能界面在不同分辨率下是否存在UI展示问题(如果代码没有对不同分辨率做适配处理...,就可能会出现错位,遮挡,留白,拉伸和模糊等问题) ▲基于UI自动化脚本的云测试方案(基于轻量级的UI自动化脚本,以及借助云平台大量的真机资源) 9.异常测试 ▲没有内存空间时,APP能否正确响应; ▲...横竖屏切换展示; ▲APP运行时网络中断; ▲反复操作某个功能(一般是比较重要的功能),不断点击和刷新,是否会出现闪退; ▲APP运行时接入电话,短信,微信,或其他消息 由于移动互联网的应用太多,更新频繁

1.9K50

创建管理通知渠道

如果 target>=26; 在26及以上运行的时候没有指定一个渠道,通知不会发出的,系统会记录此错误。...可以在logcat看到 Android O 有一个新的开发者设置,当发送了没有指定渠道的通知时显示一个toast。...NOTIFICATION_SERVICE); notificationManager.createNotificationChannel(mChannel); } 如果创建的渠道已经存在当程序运行的时候不会出现异常...没有声音也不会出现在状态栏中 IMPORTANCE_MIN PRIORITY_MIN 所有的通知,不管重要性如何,都会出现在不影响用户的系统界面上。...例如通知栏,启动图标的通知点(可以改变样式或是否显示) 一将渠道提交到NotificationManager 就不能再修改重要性级别了,但是用户可随意随时修改。

80360

全面解读系统更新,收藏下这份 Android 12 (S) 版本适配自查表

三个等级 根据故障敏感性分级,我们将系统变更的兼容性划分为 3 个等级: 强制适配 ❗: 所有应用必须适配,否则会出现编译不通过、功能不可用或者用户体验受损等问题; 推荐适配 ⭐: 不强制要求适配,适配的应用将获得更出色的用户体验或更安全的隐私保护等收益...而不会按照标准通知模板展示。...扩展了应用休眠机制: Android 11:重置已授予的运行时敏感权限; Android 12:重置已授予的运行时敏感权限;无法从后台运行任务;无法接收推送通知;应用缓存文件会被删除。...例如: 乍看起来没有问题,其实这种实现方式存在两个隐蔽的安全风险: Client App:由于 ClientCallbackActivity 是从另一个应用 Provider App 启动的,因此它必须暴露为...提示:我在 Pixel 模拟器上实测并没有出现文档描述的 ”忽略请求“ 和 ”报错提示“,不过最好还是按照官方文档处理吧。

2.4K10

Android 8.0 新特性适配测试报告来啦!

在第三方应用市场下载程序低版本会出现安装失败、安装包错误等问题,更新版本可以解决。...三、通知圆点功能 类似 iOS 的通知角标,但不会显示具体通知数量,只会在图标右上角显示一个圆点。 当出现通知圆点时,长按应用程序图标,就会以类似气泡的形式快速预览。...、游戏中出现未读通知时,APP图标上都没有通知圆点提示,也无法通过长按来直接读取提示信息。...这里选取了几个常用软件,用Cube工具抓取了后台运行时相关性能数据进行了对比,结果如下: 测试结论 从上面数据看来,Android8.0系统比Android7.0系统的后台运行程序限制并不明显,仅仅在数值上有微小的提升...,相比Android7.0系统,运行速度没有明显的改进。

2.3K00

App和SDK开发必看 | 个推分享Android12适配指南

前言 10 月 4 日,谷歌将Android12源代码推送至 Android 开源项目 (AOSP)。...使用Android12的开发者需要关注,**如果您对四个组件配置了intent 过滤器,则务必要在代码中显式声明android:exported 属性。...对于以Android12为目标平台的应用,当运行adb backup命令时,从设备导出的其他任何系统数据都不会包含应用的数据。...因此,个推SDK产品使用的就是第一种方案进行Android12适配。 02 前台服务启动限制 除了一些特殊情况外,以 Android12 为目标平台的应用将无法在后台运行时启动前台服务。...如果应用尝试在后台运行时启动前台服务,将会引发异常。针对此情况,Android12官网也给出了前台服务的推荐替代方案:WorkManager。

1.5K20
领券