Android 9.0 新特性

掌握Android 9.0源码,深度了解新特性(版本28) 数字健康功能是Android 9.0推出的一项旨在提高用户生活质量的新特性,该功能的设计理念源于对现代人使用智能设备的习惯和生活模式的深刻理解。它鼓励用户更加健康地使用他们的设备,包括控制屏幕时间,减少干扰,并在适当的时间内使用户保持专注。数字健康功能的设计兼顾了用户体验和设备使用的实际需求,通过为用户提供有关其设备使用情况的详细报告,帮助用户了解并管理他们对设备的依赖。画中画模式是Android 9.0的另一项重要特性,允许用户在小窗口中继续观看视频或进行视频通话,而不会干扰到屏幕上的其他内容。 阅读详情

Android Pie(9.0) New Features

内容:

  • 刘海屏适配
  • 通知功能的变更
  • 隐私权变更
  • 对使用非 SDK 接口的限制 和 适配策略
  • 非Activity-Context启动Activity
  • Apache HTTP 客户端弃用,影响采用非标准 ClassLoader 的应用
  • 前台服务

API 变更

Display Cutout Support

Android 9 支持最新的全面屏,其中包含为摄像头和扬声器预留空间的屏幕缺口。 通过 DisplayCutout 类可确定非功能区域的位置和形状,这些区域不应显示内容。 要确定这些屏幕缺口区域是否存在及其位置,使用 getDisplayCutout()函数。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
    View decorView = getWindow().getDecorView();
    WindowInsets rootWindowInsets = decorView.getRootWindowInsets();
    if (rootWindowInsets != null) {
        DisplayCutout cutout = rootWindowInsets.getDisplayCutout();
        List<Rect> boundingRects = cutout.getBoundingRects();
        if (boundingRects != null && boundingRects.size() > 0) {
            String msg;
            for (Rect rect : boundingRects) {
                msg = s+"left-" + rect.left;
                Log.d(TAG, msg);
            }
         }
    }
}

用新的窗口布局属性 layoutInDisplayCutoutMode 为设备屏幕缺口周围的内容进行布局。 可以将此属性设为下列值之一:

LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT

The window is allowed to extend into the DisplayCutout area, only if the DisplayCutout is fully contained within a system bar. Otherwise, the window is laid out such that it does not overlap with the DisplayCutout area.

LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES

The window is always allowed to extend into the DisplayCutout areas on the short edges of the screen. The window will never extend into a DisplayCutout area on the long edges of the screen.屏幕短边有cutout,会延伸过去;若cutout在长边,一定不会延伸过去。

In this mode, the window extends under cutouts on the short edge of the display in both portrait and landscape, regardless of whether the window is hiding the system bars

On the other hand, should the cutout be on the long edge of the display, a letterbox will be applied such that the window does not extend into the cutout on either long edge在长边有cutout的情况,会排出在外。

LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER

The window is never allowed to overlap with the DisplayCutout area.

This should be used with windows that transiently set View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION to avoid a relayout of the window when the respective flag is set or cleared.

WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT;
getWindow().setAttributes(lp);

Channel settings, broadcasts, and Do Not Disturb

Android 8.0 引入了通知渠道,允许您为要显示的每种通知类型创建可由用户自定义的渠道。 Android 9 通过下列变更简化通知渠道设置:

  • 屏蔽渠道组:现在,用户可以针对某个应用在通知设置中屏蔽整个渠道组。 您可以使用 isBlocked() 函数确定何时屏蔽一个渠道组,从而不会向该组中的渠道发送任何通知。
    此外,您的应用可以使用全新的 getNotificationChannelGroup() 函数查询当前渠道组设置。

  • 全新的广播 Intent 类型:现在,当通知渠道和渠道组的屏蔽状态发生变更时,Android 系统将发送广播 Intent。 拥有已屏蔽的渠道或渠道组的应用可以侦听这些 Intent 并做出相应的回应。 有关这些 Intent 操作和 extra 的更多信息,请参阅 NotificationManager 参考中更新的常量列表。 有关响应广播 Intent 的信息,请参阅广播。

  • NotificationManager.Policy 有 3 种新的“请勿打扰”优先级类别:

  • PRIORITY_CATEGORY_ALARMS优先处理警报。

  • PRIORITY_CATEGORY_MEDIA 优先处理媒体源的声音,如媒体和语音导航。

  • PRIORITY_CATEGORY_SYSTEM 优先处理系统声音。

  • NotificationManager.Policy 还有 7 种新的“请勿打扰”常量,可以用来抑制视觉中断:

  • SUPPRESSED_EFFECT_FULL_SCREEN_INTENT 防止通知启动全屏 Activity。

  • SUPPRESSED_EFFECT_LIGHTS 屏蔽通知灯。

  • SUPPRESSED_EFFECT_PEEK 防止通知短暂进入视图(“滑出”)。

  • SUPPRESSED_EFFECT_STATUS_BAR 防止通知显示在支持状态栏的设备的状态栏中。

  • SUPPRESSED_EFFECT_BADGE 在支持标志的设备上屏蔽标志。 如需了解详细信息,请参阅修改通知标志。

  • SUPPRESSED_EFFECT_AMBIENT 在支持微光显示的设备上屏蔽通知。

  • SUPPRESSED_EFFECT_NOTIFICATION_LIST 防止通知显示在支持列表视图(如通知栏或锁屏)的设备的列表视图中。

隐私权变更-现在收的原来越紧,安卓也越来越规范

为了增强用户隐私,Android 9 引入了若干行为变更,如限制后台应用访问设备传感器、限制通过 Wi-Fi 扫描检索到的信息,以及与通话、手机状态和 Wi-Fi 扫描相关的新权限规则和权限组。

无论采用哪一种目标 SDK 版本,这些变更都会影响运行于 Android 9 上的所有应用。

后台对传感器的访问受限

Android 9 限制后台应用访问用户输入和传感器数据的能力。 如果您的应用在运行 Android 9 设备的后台运行,系统将对您的应用采取以下限制:

您的应用不能访问麦克风或摄像头。
使用连续报告模式的传感器(例如加速度计和陀螺仪)不会接收事件。
使用变化或一次性报告模式的传感器不会接收事件。
如果您的应用需要在运行 Android 9 的设备上检测传感器事件,请使用前台服务。

限制访问通话记录

Android 9 引入 CALL_LOG 权限组并将 READ_CALL_LOG、WRITE_CALL_LOG 和 PROCESS_OUTGOING_CALLS 权限移入该组。 在之前的 Android 版本中,这些权限位于 PHONE 权限组。

如果应用需要访问通话记录或者需要处理去电,则您必须向 CALL_LOG 权限组明确请求这些权限。 否则会发生 <mark>SecurityException</mark>。

限制访问电话号码

在未首先获得 READ_CALL_LOG 权限的情况下,除了应用的用例需要的其他权限之外,运行于 Android 9 上的应用无法读取电话号码或手机状态。

与来电和去电关联的电话号码可在手机状态广播(比如来电和去电的手机状态广播)中看到,并可通过 PhoneStateListener 类访问。 但是,如果没有 READ_CALL_LOG 权限,则 PHONE_STATE_CHANGED 广播和 PhoneStateListener <mark>提供的电话号码字段为空</mark>。

要从手机状态中读取电话号码,请根据您的用例更新应用以请求必要的权限:

  • 要通过 PHONE_STATE Intent 操作读取电话号码,同时需要 READ_CALL_LOG 权限和 READ_PHONE_STATE 权限。
  • 要从 onCallStateChanged() 中读取电话号码,只需要 READ_CALL_LOG 权限。 不需要 READ_PHONE_STATE 权限。

电话信息现在依赖设备位置设置

如果用户在运行 Android 9 的设备上<mark>停用设备定位</mark>,则以下函数不提供结果:

  • TelephonyManager.getAllCellInfo()
  • TelephonyManager.listen()
  • TelephonyManager.getCellLocation()
  • TelephonyManager.getNeighboringCellInfo()

Build.SERIAL 始终设置为 "UNKNOWN" 以保护用户的隐私。

如果您的应用需要访问设备的硬件序列号,您应改为请求 READ_PHONE_STATE权限,然后调用 getSerial()。

多进程 webview 信息访问限制

在 Android P 中为了提升系统的安全性,用户无法在多进程的 webview 中共享数据目录,该目录下存储的是一些 cookies、Http 缓存和其他一些永久、临时的缓存。当下不少应用会把 webview 放在另一个进程中打开以避免内存泄漏,但是他们 cookies 的设置往往还是在主进程中,所以开发者需要仔细排查自己的应用是否有这么使用,webview 相关运行是否正常等。

对使用非 SDK 接口的限制

为帮助确保应用稳定性和兼容性,此平台对某些非 SDK 函数和字段的使用进行了限制;无论您是直接访问这些函数和字段,还是通过反射或 JNI 访问,这些限制均适用。 在 Android 9 中,您的应用可以继续访问这些受限的接口;<mark>该平台通过 toast 和日志条目提醒您注意这些接口</mark>。 如果您的应用显示这样的 toast,则必须寻求受限接口之外的其他实现策略。 如果您认为没有可行的替代策略,您可以提交错误以请求重新考虑此限制。

SDK 接口的链接

对于非SDK 接口

  • 浅灰名单:仍可以访问的非 SDK 函数/字段。
  • 深灰名单:
    对于目标 SDK 低于 API 级别 28 的应用,允许使用深灰名单接口。
    对于目标 SDK 为 API 28 或更高级别的应用:行为与黑名单相同。
  • 黑名单:受限,无论目标 SDK 如何
    平台将提示接口并不存在。
    例如,无论应用何时尝试使用接口,<mark>平台都会引发 NoSuchMethodError/NoSuchFieldException,</mark>即使应用想要了解某个特殊类别的字段/函数名单,平台也不会包含接口。

检测是否使用了非SDK接口

  1. 下载工具,阅读README.txt
  2. 打包一个应用 APK,建议使用 release 包,排除一些未使用到的单元测试类或者其他因素的影响,取消混淆,将 APK 放到工具目录下;
  1. 执行命令 ./appcompat.sh --dex-file=test.apk,在终端上会输出三个名单每个 API 的详细调用处

非 SDK API 的处理

适配的原则是优先黑名单和深灰名单,浅灰名单在官方未有替代 API 之前可以暂时不适配,在 Android P 上运行也不会有任何问题。

  1. 向google申请
    在之前 DP 版本时开发者如果遇到了不得不使用的黑名单或者深灰名单 API,需要向 google 官方及时提出反馈 (反馈url)申请将其移动到浅灰名单中,但是目前正式版本已经发布,未得知该申请通道是否仍有效。
  2. 针对第三方库调用到了非 SDK API 接口,解决办法当然是直接查询相关资料或者联系库提供方,确认是否有适配 Android P 新版本的 SDK。还有需要提到的一点,就算更换适配完成的第三方 SDK 后,仍然可能会在同一地方扫描出非 SDK API 的调用,这是因为适配工程师只是在调用处加了一个 try-catch 保护逻辑,虽然这样也勉强叫做适配完成,但是还是强烈建议大家使用如下的适配方式:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
// Android P or above
} else {
// below Android P
}

严格按照上面的适配方案,扫描工具就不会再扫描出此处的非 SDK API 调用,我们也无需每次都去确认所有非 SDK API 调用处都加了保护逻辑。
当然如果第三方库没有适配也没有近期适配的意向,目前有两种方法:第一种是屏蔽入口;第二种是反编译 SDK,在关键地方加上适配代码;

非Activity-Context启动Activity,现在强制执行 FLAG_ACTIVITY_NEW_TASK要求

Apache HTTP 客户端弃用,影响采用非标准 ClassLoader 的应用

将 compileSdkVersion 升级到 28 之后,如果在项目中用到了 Apache HTTP client 的相关类,<mark>就会抛出找不到这些类的错误</mark>。这是因为官方已经<mark>在 Android P 的启动类加载器中将其移除</mark>,如果仍然需要使用 Apache HTTP client.

  1. 在 Manifest 文件中加入:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
  1. 或者也可以直接将 Apache HTTP client 的相关类打包进 APK 中。
  2. 如果它们委托给 系统 ClassLoader,则应用在 Android 9 或更高版本上将失败并显示 NoClassDefFoundError,因为 系统 ClassLoader 不再识别这些类。 为防止将来出现类似问题,一般情况下,应用应通过 应用 ClassLoader加载类,而不是直接访问系统 ClassLoader

前台服务

针对 Android 9 或更高版本并使用前台服务的应用<mark>必须请求</mark> FOREGROUND_SERVICE 权限。 这是普通权限,因此,系统会自动为请求权限的应用授予此权限。

如果针对 Android 9 或更高版本的应用尝试创建一个前台服务且未请求 FOREGROUND_SERVICE,则系统会引发 SecurityException。

使用FileZilla在武汉大学IGS数据分析中心下载GNSS数据 2.依次点击如下图标下载到本地并解压安装(按系统选择要下载的版本) 阅读详情

相关推荐

大模型应用开发面试全流程实录:RAG、上下文工程与多Agent协作技术深度解析

Transformer 依靠多头自注意力和位置编码实现高效序列建模。Prompt Engineering包含多种设计思路,如 Zero-shot、Few-shot、Chain-of-thought,提升模型泛化和推理。Token 和上下文窗口直接影响模型性能与成本,选择需结合实际业务场景(如客服对话需长窗口)。Embedding 技术是 RAG 的基础,决定了语义检索效果。向量数据库如 FAISS、Milvus等分别适用于本地/分布式检索。

m0_52114506的博客 828

android 勿扰模式代码,android Lollipop勿扰模式

android的L新版本中增加了“打扰”的新功能,相信很多同学搞不明白。找了一篇介绍勿扰模式很好的文章,可惜是英文的,现翻译如下,相信读完此问,你会理解android对勿扰模式的设计。原文链接:http://www.addictivetips.com/android/do-not-disturb-comes-to-android-lollipop-as-interruptions/当android...

weixin_42501161的博客 643

FFmpeg流媒体开发避坑指南:avformat_open_input超时设置的那些坑

本文深入剖析了FFmpeg流媒体开发中avformat_open_input函数的超时设置难题。针对默认阻塞行为、无效的timeout参数以及不稳定的线程取消方案等常见误区,文章详细解读了官方推荐的interrupt_callback机制,并提供了健壮的超时控制器实现方案与最佳实践,帮助开发者构建稳定可靠的流媒体应用。

weixin_29239279的博客 237

【干货】Android系统定制基础篇:第十一部分(更新WebView内核版本、Android8.1向下兼容静态广播、授予普通应用系统签名权限、应用安装时授予全部动态权限)

Android 将权限分为三类,一类是 Normal Permissions(普通权限),这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等;另一类是 Dangerous Permission(危险权限),一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等;Android 6.0 以上应用(即应用开发时指定 『TargetSDK > 22』 时)运行在 Android 6.0 以上系统时,隐私权限需要动态申请,只有用户同意授权,才能继续使用。

工宗浩生财指南针 8805

Sparse4Dv3

instance_feature也设置为nn.Parameter。修正分支2*(linear->relu->linear->relu->layernorm)->linear->scale,分类分枝2*(linear->relu->layernorm)->linear(256,9),质量评估分枝2*(linear->relu->layernorm)->linear(256,2)。每组两类instance,1是加上范围(-x,x)内均匀分布噪声,2是加上(-2x,-x)U(x,2x)范围内均匀分布噪声。

yuanl15的博客 1351

【误码率仿真】基于matlab 小波变换OFDM误码率仿真

其中,与传统的 OFDM 相比,小波变换 OFDM 在进行调制和解调时,使用的是小波变换函数。需要注意的是,由于小波变换函数将频域信号转换为时域信号,因此与传统 OFDM 不同,小波变换 OFDM 中的信号需要在时域上添加循环前缀。与传统的 OFDM 不同,小波变换 OFDM 使用小波函数作为基函数,而非正弦函数作为基函数,因此可以在保持子载波正交性的同时,让子载波之间的带宽变得更加均匀。在频域进行信号加权,然后进行小波逆变换,得到时域信号。在接收端进行信号接收,去掉循环前缀并进行小波变换得到频域信号。

Fanjufei的博客 662

android 9.0监听来电,android9.0来电无法获取处理

https://developer.android.com/about/versions/pie/android-9.0-changes-all?hl=zh-cn这个连接说了。android 必须添加新权限,官网说:限制访问电话号码在未首先获得 READ_CALL_LOG 权限的情况下,除了应用的用例需要的其他权限之外,运行于 Android 9 上的应用无法读取电话号码或手机状态。与来电和去电关...

weixin_42395498的博客 909

【OpenFOAM】-olaFlow-算例1- baseWaveFlume

算例文件注释--olaFlow-算例1- baseWaveFlume

ou_no的博客 3639

Android版本适配

前言 从Android 6.0 开始,系统更新时APP也需要进行相应的适配,再此记录下开发中需要适配的地方。

MingYang 2396

基于毫米波生物感知雷达+STM32设计的独居老人居家监护系统(微信小程序)(192)

当前基于STM32设计的独居老人居家监护系统为独居老人提供一种简便、实时的健康监护服务。该系统通过集成多种传感器和功能模块,能够实时监测老人的生理指标、姿态以及室内环境状况,并通过微信小程序远程显示数据,当出现异常情况时及时发出报警提醒。

1万+

【异常】OpenClaw提示Message ordering conflict - please try again. If this persists, use /new to start a fr

摘要:OpenClaw助手出现"Message ordering conflict"异常时,表明会话消息排序冲突,主要由消息队列时序错乱、会话同步异常或上下文过载引起。解决方案包括:1)基础重试暂停后单发指令;2)最优方案是发送/new重置会话;3)极端情况下需重启客户端或检查指令格式。预防建议包括避免高频并发指令、定期重置会话及确保网络稳定。该报错属业务层异常,不影响账号安全。

奶爸的编程之路,也就一周冷个三天 422

【笔记】android录音权限遇到的问题和兼容8.0权限请求的方案

android6.0之后出现的运行时权限请求给开发者带来了很多的不便,但也出现了很多权限请求方面的工具类、框架,之前自己也实现过一个Android6.0之后权限请求工具类。 但随着8.0的出现,之前的工具类需要做下调整,而且在实际的使用中也出现了部分手机权限请求类无法解决的问题,这里记录下这些天在录音权限上遇到的坑。 部分6.0以下手机不兼容情况 部分6.0以下的手机在录音权限被

林zero的专栏 1万+

基于STM32设计的消防小车

当前基于STM32单片机设计了一款智能消防小车;当前小车支持烟雾浓度检测、可燃气体检测,环境温度湿度检测、火焰源检测、能支持远程遥控,方便消防员远程操控进行灭火。小车也支持自动消防,在行驶过程中,消防智能小车通过火焰传感器感应火源以检测火焰具体位置,可以利用算法设计进行循迹灭火,该模式下驱动电机水泵喷水,可以有效控制火源的第二次发生,从而完成消防作业。小车本身带了超声波测距模块,红外壁障模块,在自动或者手动控制行驶过程中可以防止碰到障碍物损伤小车。

7375

安卓9.0发布,献上Android 9.0新特性适配处理

安卓9.0即Android 9.0已经面向全球发布,它的代号是Pie,仍然基于Linux内核构建。为了避免Android 9.0 Pie新特性更新引发的适配问题,本文将介绍Android 9.0将带来哪些和开发者息息相关的影响,对Android 9.0新特性适配进行处理的方案。   新特性可以先阅读:https://ywnz.com/linuxxw/2556.html   Android ...

宝爷的专栏 3382

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android 9.0新特性

今天凌晨,google推出了Android 9.0,作为一个android从业者,少不了要去打开看一下,也顺便记录一下。 新特性: 1、全面屏支持,Android P加入了对刘海屏的支持,谷歌称之为凹口屏幕(display with a cutout)。借助最新的提供的DisplayCutout类,开发者可以找到非功能区域的位置和形状,而非功能区域是不应显示功能的;使用getDisplayCu...

TompsonLee的博客 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Android 9.0 最完整的新特性列表

谷歌在GoogleI / O 2018 上终于发布了Android 9.0。不管你是否已经更新了你的Android版本,当你运行Android9时,你终究会看到大量的新功能,下面列出了其中最炫酷的25个新特性。 1.自适应电池 如果你在Android6中使用了休眠功能,它会让所有的应用程序都休眠,而自适应电池功能是它的一个进阶版,默认情况下是启用的。 你可以在Settings...

feelinghappy的专栏 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

android9新特性华为,基于安卓9.0的EMUI9.0来了,支持原生特性数字化健康

原标题:基于安卓9.0的EMUI9.0来了,支持原生特性数字化健康Emotion UI是华为基于Android进行开发的情感化操作系统。独创的Me Widget整合常用功能,一步到位;快速便捷的合一桌面,减少二级菜单;缤纷海量的主题,何止让你眼花缭乱。触手可及的智能指导,潇洒脱离小白状态。贴心的语音助手,即刻解放你的双手。随时随地,尽情愉悦体验。目前,已超过1亿全球用户。 而在上个月,安卓9,0已...

weixin_30707165的博客 611

Android 9.0新特性之篇一:新特性和API

来点前奏说明 前两天和朋友无意聊起我的Pixel手机刷9.0版本,他接着问那9.0有啥特性呢。这个咱还真不知道,赶紧翻Google官方文档看看 以下文章参考链接 https://developer.android.com/about/versions/pie/android-9.0#java 文章泛读参考时间十五分钟,请各位坚持下来。 1、新特性和A...

张彬的博客 2936

安卓9.0系统新特性

安卓9.0系统新特性 新特性一: 日前针对Android系统特有的开放式特点,及其所带来的卡顿、运行不流畅问题,谷歌特意研制出最新版Android 9.0,以增强系统的封闭性。于是,网上曝出了很多安卓“抄袭”“模仿”iOS的说法。不过在笔者看来,不管是不是“抄袭”,谷歌能有这方面的想法,便...

苏凯的博客 4033

Android 5.0 6.0 7.0 8.0 9.0 新特性

下面总结下从5.0到9.0包含的主要新特性5.0 新特性 (Android5.0 API) 1、动态替换Theme ##1、 MaterialTheme配色方案:http://www.materialpalette.com ##2、修改状态栏,ActionBar,界面背景,NavigationBar的颜色。让Activity使用自定义的Theme ...

lou_liang的博客 1023

安卓9.0新特性与开发适配

本文将重点介绍该版本特性中部分需要开发适配的部分。 背景:谷歌在GoogleI / O 2018 上终于发布了Android 9.0。 权限相关 1、后台对传感器的访问受限 Android 9 限制后台应用访问用户输入和传感器数据的能力。 如果您的应用在运行 Android 9 设备的后台运行,系统将对您的应用采取以下限制: 您的应用不能访问麦克风或摄像头。 使用连续报告模式的传感器(...

u013773608的博客 1056

探索Android 9.0 Pie新特性变更

北京时间 8 月 7 日上午,Google 正式发布 Android 9.0 正式版系统,并宣布系统版本 Android P 被正式命名为代号「Pie」。 目前,Google 已向全球 Pixel 设备推送了 Android 9.0 正式版的更新。 作为忠实Android用户,也同样作为一名Android开发人员,每一个版本的发布都是业内大事,当天的关注必不可少,但也很惭愧时隔将近一个月才来总...

一入代码深似海 8557

Android9.0新特性曝光,你准备好了吗

Android9.0最早出现在2018年1月25日的谷歌官网上,初步代号已经确定为“Pistachio Ice Cream”(开心果冰淇淋),不过按照Google的惯例,如此长的三个单词代号,通常都只会在安卓新版本开发初期使用,后期会更换为更简单的单个或双个单词代号。那么Android9.0究竟带来了哪些新的特性呢,让我们先来一探究竟。 刘海设计 安卓P 9.0的一个核心变化就是会支持类似...

xiangzhihong8的专栏 1万+

android9新特性华为,华为这项微不足道的小举措,为今后秒升安卓9.0扫清了障碍...

原标题:华为这项微不足道的小举措,为今后秒升安卓9.0扫清了障碍 说起国产厂商升级安卓8.0,最早的时候华为和一加是最早响应的两家。后来事实胜于雄辩,华为Mate10原生搭载安卓8.0,Mate9等一大旧旗舰也将迎来8.0升级。 反观一加5T,不仅只搭载了安卓7.1.1系统,并且还公开宣布将延期至明年2月份发布8.0升级。根据行业人士爆料,其中的重要原因是刘作虎对一项名为Project Trebl...

weixin_42310891的博客 151

android9.0新特性

谷歌在GoogleI / O 2018 上终于发布了Android 9.0。不管你是否已经更新了你的Android版本,当你运行Android9时,你终究会看到大量的新功能,下面列出了其中最炫酷的几个新特性: 新特性: 1、全面屏支持,Android P加入了对刘海屏的支持,谷歌称之为凹口屏幕(display with a cutout)。借助最新的提供的DisplayCutout类,开发者可以找...

weixin_42179331的博客 252
上一篇: 我的Android成长之路(16)----Android 7.0以后Debug闪退问题的解决
下一篇: 细谈Activity四种启动模式
AImmortaI
博客等级 码龄11年 48粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值