智能手机,以机器学习为核心
Android P使智能手机变得更加智能,帮助它学习并适应用户。应用程序可以利用最新的机器智能来帮助接触更多用户并提供新的体验。
自适应电池
无论使用何种设备,电池都是我们从手机用户那里听到的头号优先事项。在Android P中,我们与DeepMind合作开发了一项新功能,我们称其为Adaptive Battery,可优化应用程序使用电池的方式。
自适应电池使用机器学习为用户最关心的应用优先访问系统资源。它使用四个新的“应用程序备用存储区”,从“活动”到“罕见” ,将运行的应用程序放入具有不同限制的组中。应用会随着时间的推移而改变存储空间,而未处于“活动”存储空间的应用将对作业,警报,网络和高优先级的Firebase云端消息具有限制。
如果您的应用程序针对打盹,应用程序待机和背景限制进行了优化,则自适应电池应该适合您的开箱即用。我们建议在四个存储桶中的每一个中测试您的应用程序。查看详细信息的文档。
应用操作
应用操作是一种新的方式,可以在用户开始执行任务时提高应用的可见性。他们将应用程序的核心功能置于用户面前,作为处理其任务的建议,从启动器和智能文本选择,Google Play,Google搜索应用程序和助手等系统中的关键接触点开始。
操作使用机器学习根据用户的上下文或最近的交互来为用户展示恰当的应用程序。由于Actions会在最相关的时间和地点突出显示您的应用,因此它们是接触新用户并重新与现有用户互动的好方法。
要支持应用程序操作,只需将您的应用程序的功能定义为语义意图即可。应用操作使用共同的同一目录意图作为对话的行动为谷歌助手,它表面上的声控音箱,智能显示器,汽车,电视,耳机等。App Actions不需要API表面,因此它们可以在任何受支持的Android平台版本上运行。
操作将很快提供给开发人员尝试, 如果您希望收到通知,请在这里注册。
切片
除App动作外,我们还推出了Slices,这是您的应用向用户提供远程内容的新方式。借助切片,您可以在Google搜索和助理等地点展示丰富的,模板化的用户界面。切片是互动的,支持动作,切换,滑块,滚动内容等。
切片是吸引用户的一种很好的新方式,我们希望它们尽可能广泛地提供。我们在Android P中添加了平台支持,并且我们将开发者API和模板构建到Android Jetpack中,这是我们用于构建优秀应用程序的新库和工具集。通过Jetpack,您的Slices实施可以将用户一直定位到Kitkat - 跨95%的活动Android设备。我们还可以定期更新模板以支持新的用例和交互(如文本输入)。
查看“ 入门指南”以了解如何使用切片进行构建 - 您可以使用SliceViewer工具查看切片的外观。随着时间的推移,我们计划扩大切片可以出现的位置数量,包括其他应用程序中的远程显示。
智能回复通知
Gmail和Inbox中的智能回复功能是机器智能如何积极改变应用体验的绝佳示例。在Android P中,我们将带有API的智能回复带到了通知中,以便您为用户提供此优化。为了便于在通知中填入回复,您很快就可以使用ML Kit了 - 详情请参阅developers.google.com/mlkit。
文本分类器
在Android P中,我们扩展了标识内容或文本输入实体的ML模型,以支持日期和航班号等更多类型,并且我们正在通过TextClassifier API向开发人员提供这些改进。我们还在更新Linkify API,该API可自动创建链接以充分利用这些TextClassification模型,并丰富了用户用于快速执行操作的选项。开发人员将具有将TextClassifier服务所识别的任何实体链接起来的附加选项。Smart Linkify在检测和性能的准确度和精度方面有显着的改进。
更好的是,这些模型现在可以直接从Google Play进行更新,因此您的应用可以利用使用相同API的模型改进。一旦安装了更新的模型,所有的实体识别都将在设备上进行并且数据不会通过网络发送。
简单
我们特别强调Android P的简单性,发展Android的UI以简化和增强用户任务。对于开发人员来说,这些更改有助于改进用户查找,使用和管理应用程序的方式。
新的系统导航
我们在Android P中引入了新的系统导航,使用户可以通过每个屏幕上的单个按钮更轻松地访问主页,概览和助手。新的导航功能简化了多任务处理,并使得发现相关应用程序变得更容易。在概述中,用户对他们离开每个应用程序时所做的操作有更大的看法,这使得查看和恢复活动变得更加容易。该概述还提供对搜索,预测应用程序和应用程序操作的访问权限,并通过另一次刷卡将用户带到所有应用程序。
文本放大镜
在Android P中,我们还添加了一个新的Magnifier小部件,用于更容易地选择文本并操纵文本中的文本光标。默认情况下,扩展TextView的类会自动支持放大镜,但是您可以使用放大镜API将其附加到任何自定义视图,这可以打开各种用途。
背景限制
我们正在简化用户识别和管理在后台使用电池的应用程序。从我们关于Android Vitals的工作中,Android可以检测电量耗尽的应用行为,例如过度唤醒锁等。现在在Android P中,“电池设置”列出了这些应用程序,并允许用户通过一次点击即可限制其背景活动。
当应用程序受到限制时,其后台作业,警报,服务和网络访问都会受到影响。要不在列表中,请注意Play管理中心中的Android Vitals仪表板,它可以帮助您了解性能和电池问题。
背景限制可确保开发人员为跨设备和制造商构建的基线行为。尽管设备制造商可以在核心设备上添加限制,但他们必须通过电池设置提供用户控制。
我们添加了一个标准API来让应用程序检查它们是否受限制,以及新的ADB命令,以便您可以手动将限制应用于应用程序进行测试。详情请参阅文档。我们还计划在未来向您的Play Console Android Vitals仪表板添加限制相关指标。
使用动态处理增强音频
Android P在音频框架中引入了新的动态处理效果,可让开发人员提高音频质量。通过动态处理,您可以分离特定的频率,降低响度或增加柔和的声音,以提高应用程序的声音质量。例如,您的应用可以改善在大声,遥远或声学极具挑战性的环境中安静地说话的人的声音。
在动态处理API,您可以访问包括预均衡器,多频段压缩器,后均衡器和一个链接的限制器的多级,多频带动态处理的效果。它允许您修改Android设备发出的音频,并根据收听者的偏好或环境条件对其进行优化。频段和激活阶段的数量是完全可配置的,大多数参数可以实时控制,如增益,攻击/释放时间,阈值等。
要了解可以使用动态处理效果做什么,请参阅文档。
安全
生物识别提示
Android P为越来越多的生物识别传感器提供标准的身份验证体验。应用程序可以使用新的BiometricPrompt API,而不是显示自己的生物特征验证对话框。这个新的API取代了DP1中添加的FingerprintDialog API。除了支持指纹(包括显示内传感器)之外,它还支持Face和Iris身份验证,提供全系统一致的体验。有一个USE_BIOMETRIC权限涵盖了所有设备支持的生物识别技术。FingerprintManager和相应的USE_FINGERPRINT权限已被弃用,所以请尽快切换到BiometricPrompt。
受保护的确认
Android P引入了Android Protected Confirmation,它使用可信执行环境(TEE)来保证给定的提示字符串被用户显示和确认。只有在成功的用户确认后,TEE才会签署应用程序可以验证的提示字符串。
更强大的私钥保护
我们已经将StrongBox添加为新的KeyStore类型,为设备提供API支持,这些设备通过隔离的CPU,RAM和安全闪存提供防篡改硬件中的密钥存储。您可以设置您的密钥是否应受KeyGenParameterSpec中 StrongBox安全芯片的保护。
Android P Beta
为用户带来新版Android需要谷歌,芯片制造商(SM),设备制造商(OEM)和运营商共同努力。这个过程在技术上是具有挑战性的,需要时间 - 为了更容易,我们去年推出了Project Treble作为Android Oreo的一部分。从那以后,我们一直在与合作伙伴一起合作,现在我们看到了高音能够做什么的证据。
今天我们宣布,我们的顶级合作伙伴中有6家加入我们,在其设备上发布Android P Beta - 索尼Xperia XZ2,小米Mi Mix 2S,诺基亚7 Plus,Oppo R15 Pro,Vivo X21UD和X21以及基本PH-1。我们正在邀请世界各地的早期使用者和开发人员在任何这些设备上尝试Android P Beta,以及Pixel 2,Pixel 2 XL,Pixel和Pixel XL。
您可以在android.com/beta上看到支持的合作伙伴和Pixel设备的完整列表。对于每个设备,您都可以找到规范和指向制造商专用站点的下载,支持和报告问题的链接。对于Pixel设备,您现在可以将设备注册到Android Beta程序中,并自动通过无线方式接收最新的Android P Beta。
立即在您最喜爱的设备上试用Android P Beta,并让我们知道您的反馈!查看我们的帖子,了解更多详细信息,以及更高速采用Project Treble。
使您的应用程序兼容
随着越来越多的用户开始在他们的设备上使用Android P测试版,现在是时候测试应用程序的兼容性,解决任何问题并尽快发布更新。请参阅迁移指南了解步骤和建议的时间表。
要测试兼容性,只需将您当前的Google Play应用安装到运行Android P Beta 的设备或模拟器上,然后处理用户流。该应用应该运行并且看起来很棒,并且正确处理Android P 行为更改。尤其要注意自适应电池,Wi-Fi权限更改, 后台使用摄像头和传感器的限制,应用程序数据的更严格的SELinux策略以及默认启用的TLS更改以及Build.SERIAL限制。
通过公共API进行兼容
测试您的应用程序以使用非SDK界面非常重要。正如前面所提到的,在Android的P我们开始一个渐进的过程,以限制对选定的非SDK接口,要求开发商-包括谷歌内部应用团队-使用公共等价物来代替。
如果您的应用使用私人Android界面和库,则应该转而使用Android SDK或NDK中的公共API。第一个开发人员预览显示了使用非SDK界面的敬酒警告 - 从Android P Beta开始,使用非豁免的非SDK界面会在您的应用程序中产生错误 - 因此您现在将会抛出异常的警告。
为了帮助您识别非SDK API的反射使用情况,我们在StrictMode中添加了两种新方法。您可以使用detectNonSdkApiUsage()来警告您的应用何时通过反射或JNI访问非SDK API,并且可以使用permitNonSdkApiUsage()来禁止针对这些访问的StrictMode警告。这可以帮助您了解您的应用对非SDK API的使用情况 - 即使此时可以免除这些API,最好为未来做计划并消除其使用。
如果没有符合您使用情况的公开API,请立即通知我们。我们希望确保初始部署只影响开发人员可以轻松迁移到公共选择的界面。关于限制的更多信息在这里。
测试与显示剪影
使用显示切口测试您的应用也很重要。现在,您可以使用我们运行Android Beta的几款合作伙伴设备,确保您的应用在显示屏上保持最佳状态。您还可以通过开发人员选项使用任何Android P设备上提供的模拟剪切支持。