在Android Q中,用户可以借助气泡,轻松地在设备上任何位置进行多任务处理。气泡内置于“通知”系统中,它会浮动在其他应用的上层,并会跟随用户的移动而移动到屏幕的任何位置,用于取代SYSTEM_ALERT_WINDOW。气泡可以展开显示应用功能和信息,并在不使用时折叠起来。当设备处于已锁定状态或始终保持活动状态,气泡会像通知那样显示。气泡弹窗效果如下图:

一、气泡配置信息

气泡是一种可以选择停用的功能,在应用显示第一个气泡时,系统会弹出权限对话框,提供两种选项:

屏蔽来自您的应用的所有气泡 - 通知不会被屏蔽,但永远不会显示为气泡;

允许来自您的应用的所有气泡 - 通过 BubbleMetaData 发送的所有通知都会显示为气泡;

气泡是通过Notification API创建的。我们如果要让通知显示气泡效果,需要添加一些配置信息。因为气泡的展开视图是根据选择的Activity来创建的,此Activity需要经过配置才能显示为气泡。此Activity必须是可以调整大小、嵌入式的,并始终可以在文档模式界面下启动。如下代码是气泡Activity的配置:

android:name=".BubbleActivity"

android:theme="@style/AppTheme.NoActionBar"

android:label="@string/title_activity_bubble"

android:allowEmbedded="true"

android:documentLaunchMode="always"

android:resizeableActivity="true"

/>

二、发送气泡

要发送气泡,需要执行如下步骤:

发送气泡的实例代码如下:

// 创建气泡intent

Intent target = new Intent(mContext, BubbleActivity.class);

PendingIntent bubbleIntent =

PendingIntent.getActivity(mContext, 0, target, 0 /* flags */);

// 创建气泡元数据

Notification.BubbleMetadata bubbleData =

new Notification.BubbleMetadata.Builder()

.setDesiredHeight(600)

// Note: although you can set the icon is not displayed in Q Beta 2

.setIcon(Icon.createWithResource(context, R.drawable.icon))

.setIntent(bubbleIntent)

.build();

// 创建通知

Person chatBot = new Person.Builder()

.setBot(true)

.setName("BubbleBot")

.setImportant(true)

.build();

Notification.Builder builder =

new Notification.Builder(mContext, CHANNEL_ID)

.setContentIntent(contentIntent)

.setSmallIcon(smallIcon)

.setBubbleMetadata(bubbleData);

三、创建展开的气泡

Java实例代码如下:

Notification.BubbleMetadata bubbleData =

new Notification.BubbleMetadata.Builder()

.setDesiredHeight(600)

.setIntent(bubbleIntent)

.setAutoExpandBubble(true)

.setSuppressInitialNotification(true)

.build();

kotlin实例代码如下:

val bubbleMetadata = Notification.BubbleMetadata.Builder()

.setDesiredHeight(600)

.setIntent(bubbleIntent)

.setAutoExpandBubble(true)

.setSuppressInitialNotification(true)

.build()

到此这篇关于Android Q之气泡弹窗的实现示例的文章就介绍到这了,更多相关AndroidQ 气泡弹窗内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

qpython3h手机版 写弹窗代码_Android Q之气泡弹窗的实现示例相关推荐

  1. 我的世界java版地牢种子_我的世界手机版地牢种子代码汇总

    我的世界手机版地牢种子代码汇总告诉你<我的世界>游戏中种子是玩家们最想要得到的东西,种子非常有用,玩家们得到这些种子可以便捷得进入自己想去的地方,非常好玩,接下来就看看我的世界12个地牢种 ...

  2. Android Q之气泡弹窗

    在Android Q中,用户可以借助气泡,轻松地在设备上任何位置进行多任务处理.气泡内置于"通知"系统中,它会浮动在其他应用的上层,并会跟随用户的移动而移动到屏幕的任何位置,用于取 ...

  3. python手机版打了代码运行不了-android手机安装python并写代码运行

    整理自已手机通过termux装python编写代码遇到的一些问题及解决方法. 手机安装termux:如图,我手机上的 不要用apt update ,apt upgrade 我之前就是用了这两个命令就装 ...

  4. python手机版打了代码运行不了-如何用iPad运行Python代码?

    代码在我的Macbook电脑上跑,没有问题.还拿到学生的Windows 7上跑,也没有问题.这才上传到了Github. 在发布的教程文章里,我也已经把安装软件包的说明写得非常详细. 还针对 Anaco ...

  5. python手机版打了代码运行不了-三款可以在安卓手机上运行Python代码的软件

    导语 READ 我相信大家平时大多数时间肯定都是在电脑上面敲Python代码,有时候出门外或者不方便使用电脑的时候,你是否曾想用手机就能编写和运行Python代码呢?本文将会介绍3款不同的安卓软件帮忙 ...

  6. ecshop 手机版的php代码在哪里,PHP 在ecshop上集成 手机网页支付_php

    参考alipay网页支付接口的代码 其实原理跟ecshop上集成的alipay支付差不多  就是因为利用curl请求的时候相应时间过长 所以不能直接去先post数据再生成button /** * 生成 ...

  7. php加密手机版_PHP解密支付宝小程序的加密数据、手机号的示例代码

    1.小程序端代码示例 my.getPhoneNumber({ success: (res) => { let encryptedData = res.response; my.httpReque ...

  8. 电脑端跳转手机版的php代码,帝国CMS电脑端自动跳转到手机端移动端的方法

    Empire CMS 7.2版本引入了全面的多接入终端功能,使网站更方便地制作多个移动接入终端. 版本7.5中的多访问者升级:支持主端的后台刷新以生成每个访问端的静态页面,并且多访问端在静态模式下使用 ...

  9. 安卓手机/平板写Python代码

    买了个键盘,由于是安卓平板,也想搞个Python趁着毕业了学学 目前主流是两类安卓上写Python的应用:PythonOH.python3h和pydroid 由于我想下pygame和matplotli ...

最新文章

  1. 蚂蚁金服-支付风险识别亚军方案!
  2. 交换与路由技术课程期末上机测试题目一
  3. mongodb php 扩展 linux,CentOS Linux 安装PHP的MongoDB扩展
  4. 目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结(转)
  5. python模块import具体用法
  6. Leetcode 刷题笔记(二十六) ——动态规划篇之经典问题:打家劫舍
  7. 斯坦福大学的机器学习课程,浓缩成6张速查表
  8. multiprocessing.queue取数据要加锁么_秒杀抢购思路以及高并发下数据安全
  9. BIM技术之Dynamo图元编程:柱、球面坐标系节点绘制螺旋线
  10. 方维P2P借贷网商业系统3.6.9源码 红色风格+蓝色风格
  11. ERDAS2013安装资源及破解步骤
  12. web实训——3.12
  13. 军用计算机ip等级是什么,加固计算机的IP防护等级是什么?
  14. PointNet学习笔记(一)—— 论文
  15. Oracle 报 “ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效” 问题的解决方法
  16. PMP快速通过经验分享
  17. 【dubbo系列001】dubbo是什么?dubbo解决什么问题?
  18. 单元库质量验证方法之compare library
  19. 苏州软件类企业在高新技术企业认定中的要点分析
  20. Vue - 列表拖曳排序 / 鼠标拖动改变顺序排列高效简洁组件(支持PC端与移动端触屏拖动,也可在滚动条内排序自动滚动,流畅丝滑无 BUG)

热门文章

  1. matlab如求曲线插值点,两条曲线之间的插值(matlab)
  2. c调用c++ qt_C++中是如何调用C接口的?
  3. pandas 删除数据
  4. pgadmin使用教程
  5. pyinstaller打包venv(虚拟环境),.pyd文件,非.py文件打包
  6. 【文本分类】基于类信息的TF-IDF权重分析与改进
  7. 人脸检测对齐--Joint Cascade Face Detection and Alignment
  8. linux查看特定文件的位置
  9. spring中那些让你爱不释手的代码技巧
  10. MySQL 高频面试题,都在这了