Android官方开发文档Training系列课程中文版:通知用户之大视图通知

原文地址:http://android.xsoftlab.net/training/notify-user/expanded.html#big-view

通知在通知栏中以两种风格呈现:正常视图与大视图。只有在通知展开的时候才会展示大视图。这只有在通知处于通知栏顶部时或者用户点击了通知时才会出现。

大视图于Android 4.1开始出现,并且不支持老版本。这节课将会介绍如何使用大视图通知。

这是正常视图的示例:

下面是大视图的示例:

http://android.xsoftlab.net/images/training/notifications-bigview.png

这节课所展示的示例程序都以正常视图和大视图两种方式为用户提供相同的功能:

  • 可以延迟提醒或者取消通知。
  • 以一种方式展示提醒文本给用户。

正常视图以Activity的形式提供了以上功能。要在设计通知时记住这一点:首先在正常视图中提供各种功能,因为这样可以有很多用户与通知产生交互。

设置通知启动Activity

示例应用程序使用IntentService的子类PingService来构造并发布通知。

在下面的代码段中,IntentService的方法onHandleIntent()指明了一个新的Activity会在用户点击通知的时候启动。setContentIntent()方法中设置了在用户点击通知时被发布的PendingIntent,因此可以启动Activity。

Intent resultIntent = new Intent(this, ResultActivity.class);
resultIntent.putExtra(CommonConstants.EXTRA_MESSAGE, msg);
resultIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);// Because clicking the notification launches a new ("special") activity, 
// there's no need to create an artificial back stack.
PendingIntent resultPendingIntent =PendingIntent.getActivity(this,0,resultIntent,PendingIntent.FLAG_UPDATE_CURRENT
);
// This sets the pending intent that should be fired when the user clicks the
// notification. Clicking the notification launches a new activity.
builder.setContentIntent(resultPendingIntent);

构造大视图通知

下面代码中展示了如何在大视图通知中设置一个按钮:

// Sets up the Snooze and Dismiss action buttons that will appear in the
// big view of the notification.
Intent dismissIntent = new Intent(this, PingService.class);
dismissIntent.setAction(CommonConstants.ACTION_DISMISS);
PendingIntent piDismiss = PendingIntent.getService(this, 0, dismissIntent, 0);
Intent snoozeIntent = new Intent(this, PingService.class);
snoozeIntent.setAction(CommonConstants.ACTION_SNOOZE);
PendingIntent piSnooze = PendingIntent.getService(this, 0, snoozeIntent, 0);

下面的片段展示了如何构造Builder对象。它设置了大视图的风格为”big text”,并设置了提醒消息的文本。它还使用了addAction()方法来添加Snooze按钮及Dismiss按钮,这两个按钮将会出现在大视图通知上:

// Constructs the Builder object.
NotificationCompat.Builder builder =new NotificationCompat.Builder(this).setSmallIcon(R.drawable.ic_stat_notification).setContentTitle(getString(R.string.notification)).setContentText(getString(R.string.ping)).setDefaults(Notification.DEFAULT_ALL) // requires VIBRATE permission/** Sets the big view "big text" style and supplies the* text (the user's reminder message) that will be displayed* in the detail area of the expanded notification.* These calls are ignored by the support library for* pre-4.1 devices.*/.setStyle(new NotificationCompat.BigTextStyle().bigText(msg)).addAction (R.drawable.ic_stat_dismiss,getString(R.string.dismiss), piDismiss).addAction (R.drawable.ic_stat_snooze,getString(R.string.snooze), piSnooze);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝-WSDM | Stepwise Reasoning for Multi-Relation QA

论文笔记整理:谭亦鸣,东南大学博士。来源:WSDM ’20链接:https://dl.acm.org/doi/pdf/10.1145/3336191.33718121.介绍知识图谱问答旨在利用知识图谱的结构化信息回答以自然语言提出的问题。当面对多关系问题时,现有基于…

从零搭建基于知识图谱的问答系统(以医疗行业为例)

清华大学人工智能研究院院长张钹院士2020年发表署名文章,首次全面阐述第三代人工智能的理念,提出第三代人工智能的发展路径是融合第一代的知识驱动和第二代的数据驱动的人工智能。基于知识图谱的推理,恰恰体现了第三代人工智能的特点。知识图…

Android官方开发文档Training系列课程中文版:通知用户之在通知中显示进度

原文地址:http://android.xsoftlab.net/training/notify-user/display-progress.html#FixedProgress 通知中包含了一个进度指示器,用来向用户展示一项正在进行中的工作状态。如果你可以确保任务会花费多长时间,并且可以在任何时候得知它完成…

LeetCode 109. 有序链表转换二叉搜索树(快慢指针+递归)

1. 题目 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 来源:力扣(LeetCode) 链…

beeshell —— 开源的 React Native 组件库

背景 beeshell 是一个 React Native 应用的基础组件库,基于 0.53.3 版本,提供一整套开箱即用的高质量组件,包含 JavaScript(以下简称 JS)组件和复合组件(包含 Native 代码),涉及前端…

论文浅尝 - ACL2020 | 用于链接预测的开放知识图谱嵌入

本文转载自公众号:PaperWeekly。 作者:舒意恒,南京大学硕士,研究方向:知识图谱。当前大量的知识图谱都是通过文本直接构建的。由于当前的知识图谱构建方法的局限性,其中难免包含对同一实体或关系…

论文审稿人可以下岗了?CMU都做出论文审稿机器人了!

文 | Sheryc_王苏机器学习真是越来越火了,这从各大会议逐年增加的投稿量上就可见一斑:AAAI21收到了9034篇投稿,NeurIPS20收到了9467篇投稿,一篇投稿至少要经过3位审稿人同行评议,耗费的人力可想而知。那么问题来了&…

Android官方开发文档Training系列课程中文版:多样屏幕之支持不同的屏幕尺寸

原文地址:http://android.xsoftlab.net/training/multiscreen/index.html 引言 Android运行于数以百计不同尺寸的设备上。范围小到手持移动电话,大到电视设备。因此,在设计APP时应当兼顾到尽可能多的屏幕尺寸。这样才能照顾到较多的潜在用户…

阿里云开源EasyTransfer:业界首个面向NLP场景深度迁移学习框架

阿里云开源EasyTransfer:业界首个面向NLP场景深度迁移学习框架 原文链接:https://zhuanlan.zhihu.com/p/267392773 阿里云正式开源了深度迁移学习框架 EasyTransfer,本文详细介绍了 EasyTransfer 框架的核心功能。机器之心发布,机…

LeetCode 559. N叉树的最大深度

文章目录1. 题目2. 解题2.1 递归2.2 按层queue遍历1. 题目 给定一个 N 叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 2. 解题 2.1 递归 class Solution { public:int maxDepth(Node* root) {if(root NULL)return 0;int …

全链路压测平台(Quake)在美团中的实践

背景 在美团的价值观中,“以客户为中心”被放在一个非常重要的位置,所以我们对服务出现故障越来越不能容忍。特别是目前公司业务正在高速增长阶段,每一次故障对公司来说都是一笔非常不小的损失。而整个IT基础设施非常复杂,包括网络…

陈华钧等 | OpenKG区块链:构建可信开放的联邦知识图谱平台

文章导读本文介绍了OpenKG在区块链方向的一些实践和尝试。经过一年努力,OpenKG初步完成了底层区块链平台测试,以及OpenKG数据集、工具集和Openbase细粒度知识众包的上链测试工作。在这个测试平台中,已包含1033位确权的知识贡献者。上链测试两…

ICLR'21 | 一个二值化词向量模型,是怎么跟果蝇搭上关系的?

文|苏剑林(追一科技) 编 | 小轶可能有些读者最近会留意到ICLR 2021的论文Can a Fruit Fly Learn Word Embeddings?,文中写到它是基于仿生思想(仿果蝇的嗅觉回路)做出来的一个二值化词向量模型。其实论文的…

如何解决NLP分类任务的11个关键问题:类别不平衡低耗时计算小样本鲁棒性测试检验长文本分类 JayLou娄杰

原文链接:https://zhuanlan.zhihu.com/p/183852900 欢迎关注《高能AI》公众号~声明:文中观点谨代表笔者个人立场,盲目搬运有风险~在2020这个时间节点,对于NLP分类任务,我们的关注重点早已不再是…

LeetCode 908. 最小差值 I

1. 题目 给定一个整数数组 A&#xff0c;对于每个整数 A[i]&#xff0c;我们可以选择任意 x 满足 -K < x < K&#xff0c;并将 x 加到 A[i] 中。 在此过程之后&#xff0c;我们得到一些数组 B。 返回 B 的最大值和 B 的最小值之间可能存在的最小差值。 示例 1&#x…

论文浅尝 - AAAI2020 | 基于知识图谱进行对话目标规划的开放域对话生成技术

论文笔记整理&#xff1a;张傲&#xff0c;天津大学硕士。Knowledge Graph Grounded Goal Planning for Open-Domain Conversation Generation来源&#xff1a;哈工大SCIR动机让机器生成有内容并且主题连贯的多轮开放域对话&#xff0c;是人工智能公认的关键任务之一。针对这一…

一个程序员的“无聊”故事

文 | Cat Chen知乎本文已获作者授权&#xff0c;禁止二次转载不同时期的生活方式是非常不一样的。我觉得最重要的是意识到这一点&#xff0c;不要以为某一种生活方式会一直延续下去。这个世界上不会存在特定的程序员生活方式&#xff0c;你在不同的公司工作就会遇到不一样的公司…

LeetCode 349. 两个数组的交集(哈希)

1. 题目 给定两个数组&#xff0c;编写一个函数来计算它们的交集。 示例 1:输入: nums1 [1,2,2,1], nums2 [2,2] 输出: [2] 示例 2:输入: nums1 [4,9,5], nums2 [9,4,9,8,4] 输出: [9,4] 说明:输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。来源&am…

论文浅尝 | Iterative Cross-Lingual Entity Alignment Based on TransC

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士。来源&#xff1a;IEICE TRANSACTIONS on Information and Systems, 2020, 103(5): 1002-1005.链接&#xff1a;https://www.jstage.jst.go.jp/article/transinf/E103.D/5/E103.D_2019DAL0001/_pdf介绍这篇论文关注的任…

ARKit:增强现实技术在美团到餐业务的实践

前言 增强现实&#xff08;Augmented Reality&#xff09;是一种在视觉上呈现虚拟物体与现实场景结合的技术。Apple 公司在 2017 年 6 月正式推出了 ARKit&#xff0c;iOS 开发者可以在这个平台上使用简单便捷的 API 来开发 AR 应用程序。 本文将结合美团到餐业务场景&#xff…