Android4.4新特性

2024-06-01 17:48
文章标签 特性 android4.4

本文主要是介绍Android4.4新特性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

API Level :19

1,如果您的应用从外部存储空间读取...

        您的应用在 Android 4.4 上运行时无法读取外部存储空间上的共享文件,除非您的应用具有 READ_EXTERNAL_STORAGE 权限。也就是说,没有此权限,您无法再访问 getExternalStoragePublicDirectory() 返回的目录中的文件。但是,如果您仅需要访问 getExternalFilesDir() 提供的您的应用特有目录,那么,您不需要 READ_EXTERNAL_STORAGE 权限。

2,如果您的应用使用 WebView...

        在 Android 4.4 上运行时,您的应用的行为会有所不同,将应用的 targetSdkVersion 更新为“19”或更高版本时尤其如此。

WebView 类的底层代码和相关 API 已升级为基于现代的 Chromium 源代码快照这会带来各种性能提升,同时为新的 HTML5 功能和远程调试 WebView 内容提供支持。此次升级的范围意味着如果您的应用使用 WebView,则在某些情况下其行为可能会受影响。

3,如果您的应用使用 AlarmManager...

        将您的应用的 targetSdkVersion 设置为“19”或更高版本时,您使用 set() 或 setRepeating() 创建的闹铃将变得不准确。
提高电源效率,Android 现在批处理在合理的相似时间发生的所有应用的闹铃,以便系统仅唤醒设备一次,而不是多次唤醒设备来处理每个闹铃。

4,如果您的应用使用 ContentResolver 同步数据...

        将应用的 targetSdkVersion 设置为“19”或更高版本时,使用 addPeriodicSync() 创建同步将在默认的 Flex 间隔内(在您指定期间的 4% 左右)执行您的同步操作。例如,如果您的轮询频率是 24 小时,则您的同步操作每天可能会在大约一小时的时间窗口内发生,而不是在确切地同一时间发生。
        要指定您自己的 Flex 间隔进行同步操作,您应开始使用新的 requestSync() 方法。

5,主机卡模拟

        Android 应用现在可以模拟使用 APDU 进行数据交换的 ISO14443-4 (ISO-DEP) NFC 卡(根据在 ISO7816-4 中进行的指定)。这让运行 Android 4.4 并启用 NFC 的设备可以同时模拟多个 NFC 卡,并允许 NFC 支付终端或其他 NFC 读取器基于应用标识符 (AID) 通过适当的 NFC 卡发起交易。

6,NFC 读取器模式

        新的 NFC 读取器模式允许 Activity 将所有 NFC Activity 限制为在前台时仅读取 Activity 感兴趣的标记类型。您可以使用 enableReaderMode() 为您的 Activity 启用读取器模式,提供一个 NfcAdapter.ReaderCallback 的实现,用于在检测到新的标记时接收回调。

7,红外线发射器

        现在,在附带红外线 (IR) 发射器的设备上运行时,您可以使用 ConsumerIrManager API 发射红外线信号。要获取 ConsumerIrManager 的实例,请使用 CONSUMER_IR_SERVICE 调用 getSystemService() 作为参数。然后,您可以使用 getCarrierFrequencies() 查询设备支持的红外线频率,并通过使用 transmit() 传递所需的频率和信号模式来发射信号。

8,自适应播放

        现在,可通过 MediaCodec API 支持自适应视频播放,从而实现在 Surface 上播放时分辨率可无缝变更 - 您可以馈送新分辨率的解码器输入帧,输出缓冲区的分辨率将发生变化,但不会出现大间隙。
        您可以通过向 MediaFormat 添加两个密钥用于从编解码器指定您的应用所需的最大分辨率(KEY_MAX_WIDTH 和 KEY_MAX_HEIGHT),来启用自适应播放。将上述密钥添加到您的 MediaFormat 后,使用 configure() 将 MediaFormat 传递到您的 MediaCodec 实例。

9,Surface 图像读取器

        新的 ImageReader API 让您可以直接访问图像缓冲区,因为它们渲染为 Surface。您可以通过静态方法 newInstance() 获取 ImageReader。然后,调用 getSurface() 新建一个 Surface,并使用 MediaPlayer 或 MediaCodec 等制作器传输您的图像数据。要在可通过 Surface 获取新图像时收到通知,请实现 ImageReader.OnImageAvailableListener 接口,并使用 setOnImageAvailableListener() 注册它。

10,隐藏式字幕

        现在,播放 HTTP Live Stream (HLS) 视频时,VideoView 支持 WebVTT 字幕跟踪,根据用户在系统设置中定义的隐藏式字幕首选项显示字幕跟踪。
        您也可以使用 addSubtitleSource() 方法为 VideoView 提供 WebVTT 字幕跟踪。此方法接受一个 InputStream,其携带字幕数据和指定该字幕数据格式的 MediaFormat 对象,您可以使用 createSubtitleFormat() 指定该对象。这些字幕也会按照用户的首选项显示在视频上。

11,动画暂停

        Animator API 现在允许您使用方法 pause() 和 resume() 暂停和继续进行中的动画。

要跟踪动画的状态,您可以实现 Animator.AnimatorPauseListener 接口,其在暂停和继续动画时提供回调:pause() 和 resume()。然后使用 addPauseListener() 向 Animator 对象添加侦听器。

12,批处理传感器事件

        为更好地管理设备电源,SensorManager API 现在允许您指定您想要系统向应用传输批量传感器事件的频率。这不会减少给定时间段内您的应用可用的实际传感器事件数量,但是会降低系统使用传感器更新调用 SensorEventListener 的频率。也就是说,系统会将一段时间内发生的所有事件保存起来,然后一次性将它们传输到您的应用,而不是在每个事件发生时将其传输到您的应用。

13,沉浸式全屏模式

        要为您的应用提供填充整个屏幕的布局,适用于 setSystemUiVisibility() 的新标记 SYSTEM_UI_FLAG_IMMERSIVE(与 SYSTEM_UI_FLAG_HIDE_NAVIGATION 结合使用时)将启用新的沉浸式全屏模式。在启用沉浸式全屏模式后,您的 Activity 将继续接收所有触摸事件。用户可以沿着系统状态栏正常出现的区域向内滑动来显示系统状态栏。这将清除 SYSTEM_UI_FLAG_HIDE_NAVIGATION 标记(如果应用了 SYSTEM_UI_FLAG_FULLSCREEN 标记,也会清除该标记),因此系统状态栏保持可见状态。但是,如果您想要系统状态栏在片刻后再次隐藏,可以改用 SYSTEM_UI_FLAG_IMMERSIVE_STICKY 标记。

14,透明系统状态栏

        现在,您可以使用新主题背景 Theme.Holo.NoActionBar.TranslucentDecor 和 Theme.Holo.Light.NoActionBar.TranslucentDecor 将系统状态栏设置为部分透明。通过启用透明系统状态栏,您的布局将填充系统状态栏后面的区域,因此,您也必须为不应被系统状态栏覆盖的布局部分启用 fitsSystemWindows

如果您要创建自定义主题背景,则将其中某个主题背景设置为父主题背景,或在您的主题背景中添加 windowTranslucentNavigation 和 windowTranslucentStatus 样式属性。



这篇关于Android4.4新特性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

C#特性(Attributes)和反射(Reflection)详解

《C#特性(Attributes)和反射(Reflection)详解》:本文主要介绍C#特性(Attributes)和反射(Reflection),具有很好的参考价值,希望对大家有所帮助,如有错误... 目录特性特性的定义概念目的反射定义概念目的反射的主要功能包括使用反射的基本步骤特性和反射的关系总结特性

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

ActiveMQ—消息特性(延迟和定时消息投递)

ActiveMQ消息特性:延迟和定时消息投递(Delay and Schedule Message Delivery) 转自:http://blog.csdn.net/kimmking/article/details/8443872 有时候我们不希望消息马上被broker投递出去,而是想要消息60秒以后发给消费者,或者我们想让消息没隔一定时间投递一次,一共投递指定的次数。。。 类似

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

详解Tomcat 7的七大新特性和新增功能(1)

http://developer.51cto.com/art/201009/228537.htm http://tomcat.apache.org/tomcat-7.0-doc/index.html  Apache发布首个Tomcat 7版本已经发布了有一段时间了,Tomcat 7引入了许多新功能,并对现有功能进行了增强。很多文章列出了Tomcat 7的新功能,但大多数并没有详细解释它们

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成