Android 8.0 新特性之语言区国际化和隐私性

简介: 语言区域和国际化Android 7.0引入了能指定默认类别语言区域的概念,某些API在使用默认的DISPLAY类别语言区域时,仍然使用的是不带参数Locale.getDefault()函数。

语言区域和国际化

Android 7.0引入了能指定默认类别语言区域的概念,某些API在使用默认的DISPLAY类别语言区域时,仍然使用的是不带参数Locale.getDefault()函数。在Android 8.0,以下的一些函数使用Locale.getDefault(Category.DISPLAY)来代
Locale.getDefault(): Currency.getDisplayName(); Currency.getSymbol(); Locale.getDisplayScript().
当Locale参数指定的displayScript值不可用时,Locale.getDisplayScript(Locale)回退到Locale.getDefault().

  1. 以上的函数调用时传入参数为null时,都会抛出NullPointerException
  2.  时区名称的分析方法发生了变化。之前,Android设备使用在启动时取样的系统时钟值,用来分析日期时间的时区名称。所以如果在启动时或者一些少数情况下系统时钟出现错误,会导致分析结果出现问题。现在,一般情况下,分析时区名称时使用ICU和当前的系统时钟值。此种分析方法能提供更准确的结果,使用SimpleDateFormat等类可能会与之前的Android版本得到的结果不同。
    

3.Android 8.0的ICU库更新到了版本58.


隐私性

Android 8.0对平台的隐私性有关的变更:

  1. 改变了标识符的处理方式。在OTA之前安装的Android 8.0的应用,ANDROID_ID的值保持不变,除非在OTA之后卸载了又重新安装,在OTA后在卸载期间要保持ANDROID_ID值保留,可以利用key/value来备份。

2.在Android 8.0上,由应用签署秘钥、用户和设备来确定唯一的ANDROID_ID值,因此在相同的设备上同一用户下运行的具有不同签名应用页不会有相同的Android ID。
签名相同,在OTA到Android 8.0之前未安装的应用,ANDROID_ID的值在软件包卸载或重新安装时就不会发生变化。

系统更新导致软件包签名发生变化,ANDROID_ID的值也不会变。
要借助一个简单、标准的系统实现获利的应用,使用广告ID,
广告 ID 是 Google Play 服务针对广告服务提供的唯一 ID,此 ID 可由用户重置。

  1. 查询 net.hostname 系统属性返回的结果为空。
  2. 系统属性 net.dns1、net.dns2、net.dns3 和 net.dns4 不再可用。
  3. 获取DNS之类的网络的连接信息,具有ACCESS_NETWORK_STATE权限的应用可以注册NetworkRequest 或 NetworkCallback 对象来获取,在Android5.0后才可使用。
  4. 废弃Build.SERIAL 。新的获取硬件序列号的的函数为Build.getSerial(),需要READ_PHONE_STATE权限。
  5. LauncherApps API不再允许work profile apps访问primary profile apps的信息,与之前一样,尝试访问没有关联的个人资料会引发SecurityExceptions。当某个用户被配置在托管配置文件中时,LauncherApps API的行为就像同一的配置文件组的其它配置文件中没有安装任何应用一样。


http://blog.csdn.net/wsq_tomato/article/details/79180475

目录
相关文章
|
9天前
|
安全 Android开发 iOS开发
安卓与iOS的较量:技术特性与用户体验的深度解析
在移动操作系统的战场上,安卓和iOS一直占据着主导地位。本文将深入探讨这两大平台的核心技术特性,以及它们如何影响用户的体验。我们将从系统架构、应用生态、安全性能和创新功能四个方面进行比较,帮助读者更好地理解这两个系统的异同。
39 3
|
1月前
|
安全 Java Android开发
探索安卓开发的未来:Kotlin语言的崛起与挑战
在这篇文章中,我们将深入探讨Kotlin语言在安卓开发领域的应用及其对传统Java开发的颠覆性影响。通过分析Kotlin的特性、社区支持以及在实际项目中的应用案例,我们揭示了这一现代编程语言如何为开发者提供更简洁、更安全的编程体验,并讨论了它在面对性能优化和向后兼容性时所面临的挑战。文章旨在为读者呈现一个全面的视角,评估Kotlin作为未来安卓开发主流语言的可能性。
58 1
|
2月前
|
XML 自然语言处理 Android开发
🌐Android国际化与本地化全攻略!让你的App走遍全球无障碍!🌍
【7月更文挑战第28天】在全球化背景下,实现Android应用的国际化与本地化至关重要 for 用户基础扩展。本文通过旅游指南App案例,介绍全攻略。步骤包括资源文件拆分与命名、适配布局与方向、处理日期时间及货币格式、考虑文化习俗及进行详尽测试。采用Android Studio支持,创建如`res/values-en/strings.xml`等多语言资源文件夹,使用灵活布局解决文本长度差异问题,并通过用户反馈迭代优化。最终,打造一款能无缝融入全球各地文化的App。
125 3
|
2月前
|
Android开发 Swift iOS开发
探索Android与iOS开发的差异性:平台特性与用户体验的深度剖析
【7月更文挑战第27天】在移动应用开发的广阔天地中,Android和iOS两大阵营各自占据半壁江山。本文将深入探讨这两个平台在开发过程中的关键差异,从编程语言、工具集到用户界面设计原则,以及它们如何影响最终的用户体验。通过对比分析,我们将揭示每个平台的独特优势,并讨论如何在这些差异中寻找平衡点,以实现跨平台的成功。
|
6天前
|
安全 定位技术 Android开发
探索Android 12的隐私保护特性
随着数字化生活的深入,个人隐私保护成为用户关注的焦点。本文将介绍Android 12新推出的隐私保护功能,包括隐私仪表板、近似位置访问和麦克风/相机指示器等,帮助读者了解如何通过这些工具来增强自己的数据安全。
|
8天前
|
安全 Android开发 iOS开发
安卓与iOS的较量:技术特性与用户体验的深度剖析
在移动操作系统的战场上,安卓和iOS一直是两个重量级选手。本文将深入探讨两者的技术架构、安全性、应用生态以及用户体验等方面的差异,并尝试从用户和开发者的角度出发,分析这两个系统的优势与不足。通过比较,我们不仅能更好地理解各自的特点,还能洞察未来移动技术的发展趋势。
|
2月前
|
Android开发 Swift iOS开发
探索Android与iOS开发的差异:平台特性与用户体验
【7月更文挑战第30天】在移动应用开发的广阔天地中,Android与iOS两大平台各自展现出独特的魅力与挑战。本文将深入探讨这两个操作系统在开发环境、编程语言、用户界面设计以及发布流程等方面的主要差异,旨在为开发者提供一个清晰的对比视角,帮助他们根据项目需求和目标受众做出更明智的开发决策。
40 13
|
26天前
|
安全 Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与用户体验的比较
【8月更文挑战第19天】 在移动应用开发的广阔天地中,安卓与iOS两大平台各领风骚。本文将深入探讨这两个平台在开发过程中的关键差异,从编程语言和工具到用户界面设计,再到市场分布和安全性考虑。我们将一窥究竟,是什么让安卓开发如此灵活多变,又是什么让iOS开发显得精致而统一。通过这篇比较分析,开发者可以更清晰地认识到各自平台的优势和挑战,从而做出更明智的开发决策。
25 0
|
28天前
|
编译器 Android开发 开发者
Android经典实战之Kotlin 2.0 迁移指南:全方位优化与新特性解析
本文首发于公众号“AntDream”。Kotlin 2.0 已经到来,带来了 K2 编译器、多平台项目支持、智能转换等重大改进。本文提供全面迁移指南,涵盖编译器升级、多平台配置、Jetpack Compose 整合、性能优化等多个方面,帮助开发者顺利过渡到 Kotlin 2.0,开启高效开发新时代。
71 0
|
2月前
|
安全 数据安全/隐私保护 Android开发
探索Android 12中的隐私保护特性
随着数字化时代的到来,个人隐私保护成为全球关注的焦点。Android作为广泛使用的操作系统之一,其在最新发布的Android 12版本中引入了多项隐私保护功能。本文将深入探讨这些新特性如何增强用户数据的安全性,以及它们对应用开发者和普通用户的具体影响。
47 3