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

Android应用悬浮窗实现方案示例

1、悬浮窗基本介绍 悬浮窗,大家应该也不陌生,凌驾于应用之上一个小弹窗,实现上很简单,就是添加一个系统级别的窗口,Android中通过WindowManagerService( WMS)来管理所有的窗口...,对于WMS来说,管你是Activity、Toast、Dialog,都不过是通过WindowManagerGlobal.addView()添加一个个View。.... 2、根据产品需求进行设计 先了解一下大概产品需求: 1、悬浮窗需要跨越整个应用 2、需要与悬浮窗进行交互 3、悬浮窗得移动 4、点击跳转特定页面 5、消息提示拖拽小红点 需求很简单...,悬浮窗管理,因为后续悬浮窗布局可能有好几个,可以在这里面进行切换; 5、HomeWatcherReceiver,广播接收者,因为在应用展示,需要监听用户在点击Home键和切换键时候隐藏悬浮窗,...不能是Activity,一开始就说了,Activity会返回它专享WindowManager,而Activity窗口级别是属于应用

5K31

CentOS 86 Linux 生命终结,2022 年最好替代方案是什么

他们将与 RHEL 7 生命周期并行更新。RHEL 7 将在 2024 年结束其最后一个维护周期。 但是,如果您使用是 CentOS 8,那么 2022 年有哪些替代方案?...不幸是,即使您找到了,服务器应用程序迁移也将是另一个挑战。然而,这里有一些选项可以在 2022 年取代 CentOS。...◆ CentOS 8 Linux 最佳替代品 ◆ 1.Ubuntu / Debian 当然,每当我们谈论替代 CentOS 服务器操作系统替代品时,Ubuntu LTS 版本将是第一选择。...作为一个类似的基础,用户可以毫不费力地将他们应用程序从 CentOS 8 迁移到 Oracle Linux 上最新版本。...尽管如此,使用基于 CentOS 8 Linux 托管解决方案 CloudLinux 用户不必担心,因为他们将在 2029 年之前获得稳定且经过良好测试更新。 ◆ 5.

5.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

传统FTP传输文件“七宗罪” FTP替代方案是什么

研究表明,88%组织难以快速有效地移动大数据,每条丢失或被窃取数据平均损失成本达近千元。基于FTP解决方案目标从来都不是为了满足快速、安全和可扩展数字信息交换爆炸性需求。...总结 企业越来越依赖安全可靠文件传输解决方案,不管是人与人之间,还是在与系统之间,都需要安全地交换越来越多敏感数据,拥有一个安全、可扩展解决方案,以支持你业务需求和目标是至关重要。...那么FTP替代方案在哪里呢?...《Ftrans文件传输服务器软件》是Ftrans飞驰云联自主研发软件产品,拥有完全自主知识产权,完美响应国产化替代要求,该产品可以帮助企业实现安全可控、高效可靠文件传输,可以完美替代FTP或增强FTP...《Ftrans文件传输服务器软件》是集简单易用、安全可靠、可管可控于一身国产化FTP替代解决方案,可以帮助企业以更低成本和投入,实现高效可靠文件传输。

2.2K30

startActivityForResult被标记为弃用后,如何优雅启动Activity?

但其原因已不重要了,因为既然Android里已提供了更好方案并把startActivityForResult标记为了弃用,那么我们就应该开始了解一下位于 ComponentActivity 或 Fragment...registerForActivityResult到底是什么东西,所以对载体、定义协定、回调3个类分别定义写出来。...对于这3个类,其实只需重点了解ActivityResultContract,就能很轻松理解并使用好Activity Result API了。...刚才例子中,其实已经简单使用到Android提供一个默认协定ActivityResultContracts.StartActivityForResult()来启动了一个Activity并获得想要返回值...虽然Android提供默认协定ActivityResultContracts已经很丰富了,但是为了自己应用Activity类型安全传递或是解耦,有时我们需要自己创建一个ActivityResultContract

2K20

使用 Jetpack ActivityResult 处理 Activity 之间数据通信

作者 / Yacine Rezgui 无论您是在应用中请求某项权限,从文件管理系统中选择某个文件,还是期望从第三方应用中获取到某些数据,都会涉及到在 Activity 之间传递数据,而这也正是 Android...之前,想要从启动 Activity 中获取到返回结果,应用需要在 Activity 和 Fragment 中实现 onActivityResult() 方法,然后检查回调关联到哪一个 requestCode...ActivityResult API 是什么 ActivityResult API 被加入到 Jetpack Activity 和 Fragment 库中,旨在通过提供类型安全 contract.../fragment 协定 https://developer.android.google.cn/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts...GetContent() https://developer.android.google.cn/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.GetContent

86730

AndroidQ兼容性适配指南

访问和共享外部存储中文件应用 使用特定于应用目录和媒体集合目录 了解详情 ✅ 增强了用户对位置权限控制力 仅限前台权限,可让用户更好地控制应用对设备位置信息访问权限 在后台时请求访问用户位置信息应用...因为都是应用处于前台时候进行剪贴板数据获取,对于大部分业务不受影响。...如果应用以Android 10或更高版本为目标平台,则您必须在应用清单文件中声明ACCESS_BACKGROUND_LOCATION权限并接收用户权限,才能在应用位于后台时接收定期位置信息更新。...分区存储影响 图片位置信息 一些图片会包含位置信息,因为位置对于用户属于敏感信息, Android 10 应用在分区存储模式下图片位置信息默认获取不到,应用通过以下两项设置可以获取图片位置信息: 在...解决方案: 申请ACCESS_MEDIA_LOCATION权限,并使用MediaStore.setRequireOriginal()接口更新文件Uri,请参见图片位置信息。

6.9K30

Activity Result API详解,是时候放弃startActivityForResult了「建议收藏」

大家好,又见面了,我是你们朋友全栈君。 本文同步发表于我微信公众号,扫一扫文章底部二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。...那么SecondActivity中代码是什么呢?...FirstActivity中代码,我们需要使用Activity Result API来替代startActivityForResult()写法,如下所示: class FirstActivity :...GetMultipleContents() OpenDocument() OpenMultipleDocuments() OpenDocumentTree() CreateDocument() 每个Contract命名已经明确表示它们作用是什么了...我怎么知道每种Contract要求什么输入参数,以及Lambda表达式中返回参数是什么呢? 这个很简单,只需要看一下这个Contract源码即可。

74230

划重点 | Android Jetpack 三大重要更新

而这一切仅仅是开始,因为近期我们发布了一系列新开发库,以及过去一年我们对于现有开发库重要更新。...animation/Animator SeekableAnimatedVectorDrawable 基于 core-animation 开发,它是 AnimatedVectorDrawable (AVD) 可替代方案...developer.android.google.cn/training/constraint-layout/motionlayout △ 在动效编辑器中创建、编辑和预览 MotionLayout 动画 对于已有开发库更新...Navigation 库 Navigation 2.3 新增了对于 Dynamic Delivery 功能模块支持,该功能可以让用户只下载需要部分,从而大大降低应用初始下载体积。...另外还有一些 API 更新,包括支持设置和观察 Worker 中间进度、一些对于当前 Worker 查询 API 优化、一些对于进行中工作器调度优化。

1.6K40

再见!onActivityResult!你好,Activity Results API!

背景 在Android应用程序开发中,启动一个Activity不一定是单项操作,从启动Activity获取数据是常见场景,最传统方式是通过Intent携带数据,然后使用startActivityForResult...} } 以上方式,onActivityResult就能获取从上一个界面返回数据,这种方式非常有用,不仅能同一个应用中,也可以从其他应用中获取数据,比如我们常见,调用系统相机、相册获取照片...随着应用扩展,onActivityResult回调方法各种嵌套、耦合严重、难以维护。 最常见场景就是调用系统相机相册获取照片了。...OpenDocumentTree: 提示用户选择一个目录,并返回用户选择作为一个Uri返回,应用程序可以完全管理返回目录中文档。...不过,如果 LifecycleOwner 不存在,则每个 ActivityResultLauncher 类都允许您手动调用 unregister() 作为替代

1.5K40

隐私策略更新 | Android 11 应用兼容性适配

这样设计旨在为应用“查看”设备上其它已安装软件包时,提供更好“问责”制度。 为了简化迁移,对于常见应用场景,我们提供了 实现指南。...Content Uri } 随着应用目标 SDK 版本更新(即使更新到 Android 11 之前版本),请您特别关注涉及到与其它应用分享 Content Provider 访问权限用例,并确保授予适当...如果您应用需要后台位置权限,比如地理围栏应用,请确保后台位置对您功能设计是不可或缺对于适用应用,需要先申请前台位置权限,然后在稍晚些再申请后台位置权限。...对于需要使用 SIM 卡信息作为唯一性标识应用,需要在 Android 11 里进行“空字符串”兼容性检查。...一个替代方案是使用 getSubscriptionId() 方法,它会针对设备上指定 SIM 卡信息返回一个以数字 1 开头唯一索引值,也就是说,如果同一张 SIM 卡被重新安装到设备上的话,它会保持之前订阅标识符

1.5K10

再见!onActivityResult!你好,Activity Results API!

背景 在Android应用程序开发中,启动一个Activity不一定是单项操作,从启动Activity获取数据是常见场景,最传统方式是通过Intent携带数据,然后使用startActivityForResult...} } 以上方式,onActivityResult就能获取从上一个界面返回数据,这种方式非常有用,不仅能同一个应用中,也可以从其他应用中获取数据,比如我们常见,调用系统相机、相册获取照片...随着应用扩展,onActivityResult回调方法各种嵌套、耦合严重、难以维护。 最常见场景就是调用系统相机相册获取照片了。...OpenDocumentTree: 提示用户选择一个目录,并返回用户选择作为一个Uri返回,应用程序可以完全管理返回目录中文档。...不过,如果 LifecycleOwner 不存在,则每个 ActivityResultLauncher 类都允许您手动调用 unregister() 作为替代

1.7K20

Android MVVM框架搭建(十)Hilt、ViewBinding、Activity Result API

Hilt 应用类 在使用Hilt时候会有一些常用注解,有一些是必不可少,所有使用 Hilt 应用都必须包含一个带有 @HiltAndroidApp 注释 Application 类。...对于Hilt介绍使用就先到这里,因为这样改动项目之后,一些不熟悉Hilt可能一时半会儿还适应不了,因此一些其他用法就先不写了,后续如果有需要我补充我再写,或者在我觉得合适时候去增加Hilt其他用法...ViewBinding介绍 ViewBinding是Android Studio 3.6推出新特性,目的是为了替代findViewById(内部实现还是使用findViewById)。。...这个图就说明了废弃,虽然废弃了,依然可以使用,不过不保证在更高版本Android中会不会淘汰掉,那么这个东西废弃后,我们用什么来替代呢?...OpenDocumentTree: //提示用户选择一个目录,并返回用户选择作为一个Uri返回,应用程序可以完全管理返回目录中文档。

1.8K30

Android 12 蓝牙适配 Java版

Android4.3 中增加了对低功耗蓝牙支持,内置支持 Bluetooth AVRCP 1.3,基于 Google 和 Broadcom 公司功能研发对于 Android 设备优化蓝牙协议栈..."蓝牙已打开" : "蓝牙未打开"); } }); }   这里声明了一个变量,然后在方法中对变量进行赋值,此方法就替代了之前startActivityForResult...⑤ 应用不推导物理位置   这个说起来就和之前Android 6.0 至 Android 11.0中需要定位权限才能扫描有关系了,就是因为这个推导物理位置,手机是可以通过扫描到设备知道设备具体位置...如果您应用不推导物理位置,那么您可以坚定地断言您应用绝不会使用蓝牙权限来推导物理位置。...,因为蓝牙设备是一直广播,所以我们扫描到结果会有重复设备,重复设备有信号强度上差异,这个地方我们要做就是判断当前列表中是否有此设备,有就更新rssi,没有就添加,我们新增一个findDeviceIndex

2.6K40

微信Android热更新Tinker使用详解(星空武哥)

Tinker是什么 Tinker是微信官方Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装情况下实现更新。...特别是在android N之后,由于混合编译inline策略修改,对于市面上各种方案都不太容易解决。而Tinker热补丁方案不仅支持类、So以及资源替换,它还是2.X-7.X全平台支持。...:checkDexInstall failed”; 由于各个厂商加固实现并不一致,在1.7.6以及之后版本,tinker不再支持加固动态更新对于资源替换,不支持修改remoteView。...Tinker方式 我们通过HTTPS及签名校验等机制保障补丁下发安全性 丰富下发维度控制,有效控制补丁影响范围 我们提供了应用升级一站式解决方案 至于如何使用Bugly热更新看文档就可以了,...,他打出补丁包都是一样,通过查看补丁包YAPATCH.MF文件就可以证明,官网表示会在下一个版本中修复 ?

2.3K30

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

,通知这么重要竟然不需要用户同意就可以直接弹出,当然你可以在设置中进行手动关闭,但这对于大多数人来说比较困难。...应用语言选择器Android 13 在手机设置中新增了一个集中设置选项,用于设置各应用语言偏好设定。...此外,当前使用自定义应用语言选择器应用应改用适用于各应用语言偏好设定功能新 API。...使用这些新 API 有助于确保用户无论是继续通过应用语言选择器选择语言,还是通过手机设置选择语言,都能以其首选语言查看应用。当然,如果不支持多种语言应用将不受这些变更影响。...,我只是挑选了一些和普通开发者相关更新来简单描述了下。

83040

一年一总结NLP年度进展,2021年有哪些研究热点?

文章涵盖了 15 个研究热点,具体如下: 通用预训练模型 大规模多任务学习 Transformer 架构替代方案 提示( prompting) 高效方法 基准测试 条件图像生成 与自然科学结合机器学习...它们表现出较强小样本学习行为和良好学习能力。因此,预训练模型是进行科学研究和实际应用重要组成部分。 下一步是什么?我们无疑将在未来看到更多甚至更大预训练模型。...Transformer 架构替代方案 前几节中讨论大多数预训练模型都是基于 Transformer 架构。2021 年出现了可替代模型架构,这些架构是 transformer 可行替代方案。...在实际应用中使用模型,不应表现出任何有害偏见,也不应歧视任何群体。因此,更好地理解当前模型偏见以及消除它们对于实现 ML 模型安全和负责任部署至关重要。...因此,它们是领域普遍使用基于字词 transformer 模型有潜力替代方案。 token-free 模型为何如此重要?

1.3K20
领券