Notification Manager

Android架构:第四部分-在Android上应用Clean架构,实践(包含源代码)(译)

妖精的绣舞 提交于 2019-12-03 05:52:48
在Android Architecture系列的最后一部分,我们将Clean Architecture稍微调整到了Android平台。 我们将Android和现实世界从业务逻辑中分离出来,让满意的利益相关者满意,并让所有事情都可以轻松测试。 这个理论很好,但是当我们创建一个新的Android项目时,我们从哪里开始? 让我们用干净的代码弄脏我们的手,并将空白的画布变成一个架构。 基础 我们将首先奠定基础 - 创建模块并建立它们之间的依赖关系,以便与依赖规则保持一致。 这些将是我们的模块,从最抽象的一个到具体的实现: 1. domain Entities, use cases, repositories interfaces, 和 device interfaces 进入 domain module。 理想情况下,实体和业务逻辑应该是平台不可知的。 为了安全起见,为了防止我们在这里放置一些Android的东西,我们将使它成为一个纯粹的Java模块。 2. data 数据模块应包含与数据持久性和操作相关的所有内容。 在这里,我们将找到DAO,ORM,SharedPreferences,网络相关的东西,例如Retrofit服务和类似的东西。 3. device 设备模块应该包含与Android相关的所有内容,而不是数据持久性和UI。 例如,ConnectivityManager

Android Notification 通知学习详细笔记

 ̄綄美尐妖づ 提交于 2019-12-02 22:00:08
通知栏通知在Android APP中的使用极为频繁,比如短信通知,QQ,微信消息通知,App 更新进度转态显示,截图时后图片进行删除或分享,查看操作等等。本篇文章记录了如何使用 Notification 显示消息, 设置提示音,呼吸灯,震动,以及响应用户对消息的处理动作。 Notification 状态栏通知 建造者模式构建通知类: Notification.Builder 通知管理器(用于发出通知): NotificationManager 通知通道(API 26新增,用户可以选择性屏蔽通知):NotificationChannel 通知动作(用户点击滑动通知等):PaddingIntent 发送通知的步骤 获取 NotificationManager 创建 Notification 给 Notification 设置参数 使用 NotificationManager 发送通知 Android 7.0 新内容 Notification.Builder.serPriority: 设置通知优先级 Notification.Builder.setStyle: 设置通知扩展布局 MessagingStyle: 快速回复 Android 8.0 新内容 NotificationChannel:用户可以自定义通知的显示,以及关闭某个通知的提示音震动等 构建一个最简单的

Android 深入理解 Notification 机制

£可爱£侵袭症+ 提交于 2019-12-01 01:13:50
本文需要解决的问题 笔者最近正在做一个项目,里面需要用到 Android Notification 机制来实现某些特定需求。我正好通过这个机会研究一下 Android Notification 相关的发送逻辑和接收逻辑,以及整理相关的笔记。我研究 Notification 机制的目的是解决以下我在使用过程中所思考的问题: 我们创建的 Notification 实例最终以什么样的方式发送给系统? 系统是如何接收到 Notification 实例并显示的? 我们是否能拦截其他 app 的 Notification 并获取其中的信息? 什么是 Android Notification 机制? Notification,中文名翻译为通知,每个 app 可以自定义通知的样式和内容等,它会显示在系统的通知栏等区域。用户可以打开抽屉式通知栏查看通知的详细信息。在实际生活中,Android Notification 机制有很广泛的应用,例如 IM app 的新消息通知,资讯 app 的新闻推送等等。 源码分析 本文的源码基于 Android 7.0。 Notification 的发送逻辑 一般来说,如果我们自己的 app 想发送一条新的 Notification,可以参照以下代码: NotificationCompat.Builder mBuilder = new