Android 10 功能和 API
- 格式:docx
- 大小:290.90 KB
- 文档页数:19
手机安卓系统简介及测试经验总结手机安卓系统简介及测试经验总结一、Android简介Android(安卓)系统是手机或一些平板电脑等终端的操作系统,可以说是现在最流行的系统之一。
是目前最流行的手机智能平台,目前广泛的应用在智能手机上,在智能手机领域掀起了“Android风暴”。
Android系统在不久的将来即将应用在平板电脑,微波炉,电冰箱等等电器上,发展前景很好。
尤其是Android 操作系统的平板电脑更值得大家期待!安卓相比塞班主要有这几个优点:1、系统基于Linu,非常稳定,怎么折腾都不死机,不像塞班三天两头死机。
2、系统代码年轻并且精简,手机运行比较快!不像塞班手机用一段时间后速度会变慢。
3、系统升级后以前的软件都可用,目前支持的软件极多达三万种!不像塞班系统一升级以前软件都作废,用户毫无办法智能干瞪眼。
4、安卓操作界面很人性化,像苹果手机一样很多界面都是动态的,酷炫且华丽,并且在图标甚至空白处长按三秒有类似电脑鼠标右键的快捷菜单弹出,很方便。
相比之下塞班界面设计较保守,诺基亚的触屏机号称多次升级,其实还是老一代的手机N73加触控点按。
Android是基于Linu开放性内核的手机操作系统,Android系统由操作系统、中间件、用户界面和应用软件组成。
它采用软件堆层(SoftwareStac,又名软件叠层)的架构,主要分为三部分。
底层以Linu内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Librar和虚拟机VirtuaMachine,由C开发。
最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。
二、Android系统各个版本及功能1、Android11201*年9月22日,由HTC代工生产T-Mobie定制的HTCG1正式面世,Android系统终于面向世人。
作为全球首款使用Android操作系统的手机,该机支持WCDMA/HSai,日历,浏览器的用户接口大幅改进,如Gmai可以批量删除邮件。
android hiddenapi原理
Android HiddenAPI 是一个非官方的API 集合,它提供了许多在Android 官方SDK 中未公开的API。
这些API 可以用于访问和操作一些Android 系统内部的功能和数据,但需要注意的是,使用这些API 是有风险的和不稳定的,因为它们可能会在未来的Android 版本中发生变化或被移除。
Android HiddenAPI 的原理主要是通过反射(Reflection)技术来实现的。
反射是Java 的一种特性,它允许程序在运行时动态地访问和操作类的成员变量和方法。
通过反射,Android HiddenAPI 可以访问那些在官方SDK 中不可见的方法和类,从而实现了隐藏的功能。
需要注意的是,由于Android HiddenAPI 使用了反射技术,因此它只能在相同版本的Android 系统上运行。
如果目标设备上的Android 系统版本发生了变化,那么一些隐藏的API 可能无法正常工作,甚至可能会导致程序崩溃。
Android_JuheApiSDK使⽤⽂档(Eclipse)聚合数据SDK使⽤说明⽂档(Eclipse)V 2.6时间:2015/04/23⽬录1 版本说明 (3)2 APP集成聚合数据SDK (3)2.1 聚合数据SDK说明 (3)2.2 集成聚合数据SDK的⽅法 (3)2.3 初始化聚合数据SDK (4)2.4 查找调⽤接⼝的参数值 (5)2.5 编写代码调⽤具体的数据接⼝: (6)2.6 返回数据实例 (7)3 聚合数据后台使⽤⽅法: (9)3.1 ⽤户的注册与登录 (9)3.2 开发者申请应⽤的openid (10)3.3 开发者的appkey (10)3.4 开发者应⽤的概况 (11)3.5 认证管理 (12)3.6 套餐管理 (13)3.7 数据管理 (14)3.8 数据统计 (15)1版本说明2APP集成聚合数据SDK2.1聚合数据SDK说明JuheApisSDK是⼀个⼯具,内部集成了聚合数据平台除电商类所有接⼝。
包括⽣活常⽤,位置信息服务,⾦融基⾦,影视娱乐,全⽹数据,其他数据留个⼤类,再此⼤类之下⼜分⼩类,每个⼩类下⼜包含数⽬不等的实现具体功能的接⼝。
2.2集成聚合数据SDK的⽅法将juhe_sdk_v_X_X.jar以及armeabi⽂件夹(内包含libJuheSDK_v_X_X.so)添加到⼯程中libs⽂件夹下,Android⼯程会⾃动将libs⽂件夹下的jar导⼊ .在AndroidManifest.xml中,加⼊所需权限:添加所申请的openid.如图1-2所⽰:图1-2:添加聚合数据SDK以及依赖的包2.3初始化聚合数据SDK在调⽤接⼝之前需要初始化聚合数据SDK,只需要初始化⼀次即可。
需要在Application中调⽤初始化⽅法.2.4查找调⽤接⼝的参数值在聚合数据API官⽹上/doc/79253acf69eae009581becb7.html /docs查看接⼝,并得到调⽤接⼝必须的字段:API, APIID,以及需要设置的参数调⽤对应接⼝和请求⽅式。
Android 1.0第一版商用操作系统Android1.1更新了部分API,新增一些功能,修正了一些错误,同时增加com.google.android.maps包Android 1.5智能虚拟键盘使用widgets实现桌面个性化在线文件夹(Live Folder)快速浏览在线数据视频录制和分享图片上传更快的标准兼容浏览器V oice search 语音搜索立体声蓝牙和免提电话Android 1.6完全重新设计的Android Market,可以显示更多的屏幕截图手势支持,可以让开发者生成针对某个应用程序的手势库支持CDMA网络:中国电信的用户可以期待EVDO的Android手机了TXT-2-Speech,支持了更多语言的发音,包括英语、法语、德语、意大利语等快速搜索框,可直接搜索括联系人,音乐,浏览历史,书签等手机内容全新的拍照界面:新版相机程序启动速度快了39%,拍照间的延迟减少了28%应用程序耗电查看:这下好了,哪个软件耗多少电,现在一见了然了新增面向视觉或听觉困难人群的易用性插件Linux内核升级到2.6.29其他:支持更多的屏幕分辨率,如WVGA,QVGA等Android 2.0由于文件结构的改动优化,使得整个操作流畅性得到了很大的提升自带的Chrome Lite浏览器现在加入了对双击屏幕进行缩放的支持加强了网络社交功能,比如Facebook好友整合至联系人功能强化了语音识别的搜索控制。
整个系统多处都支持语音控制,并拥有独立的控制面板谷歌地图服务更新,加入了全新的导航系统,甚至比转业的导航软件更为先进加入了原生微软Exchange邮件服务支持提供了多个不同帐户,统一的邮件收件箱只需双击就能上传图片至YouTube优化了驾车时的体验,新的“Car Home”应用程序为各功能提供了易于操作的快捷链接,还能方便地使用语音控制功能,便于用户驾车时使用Android 2.1可以同时绑定多个Google账号无线控件里有了VPN设置增加了连接到PC设置增强了语言和声音的转换功能,并加入了文字到语音转换全新的拨号界面,按键更大,更易于操作更多桌面Widget新的Google地图可以使用谷歌地图导航功能新的浏览器版本,加强了稳定性和网页渲染能力全局搜索功能加强全新的Market程序,搜索更快布局更合理Android 2.2全面支持Flash10.1应用程序自动升级,让升级更加人性化支持应用程序安装在外置内存上Linux内核将升级为最新的2.6.32版本,系统更加稳定对系统性能进一步优化,让手机有更多的运行内存增加了轨迹球LED指示灯变色这个新功能增加了对3D性能的优化,3D性能更加强大FM功能也将在新系统中得到全面支持Android 2.3用户界面更美观提升游戏体验提升多媒体能力增加官方进程管理改善电源管理NFC近场通信全局下载管理全新虚拟键盘原生支持前置前置摄像头SIP网络电话Android3.0-3.1:安卓3.0系统主要用于安卓的平板产品,画面动感,可操控性更强,代表有摩托罗拉的平板产品XOOM,3.1也已经发布,也主要用于平板产品。
安卓单词(国外英文资料)在当今数字化的时代,安卓操作系统已经成为全球范围内使用最广泛的移动操作系统之一。
安卓不仅为用户提供了丰富的应用和功能,还推动了移动技术的创新和发展。
然而,对于许多人来说,安卓系统中的许多专业术语和概念可能显得有些陌生和难以理解。
为了帮助用户更好地了解安卓系统,本文将介绍一些与安卓相关的常用单词和术语,并提供相关的英文资料,以便读者能够更深入地了解安卓系统的各个方面。
1. Android:安卓操作系统的名称,源自于英文单词“android”,意为“”。
2. APK:安卓应用程序的安装包文件格式,全称为“Android Package”。
3. Dalvik:安卓系统中的一个虚拟机,用于运行安卓应用程序。
4. ROM:安卓系统的固件版本,全称为“ReadOnly Memory”。
5. Root:对安卓系统进行解锁,以获得更高的权限和更广泛的控制。
6. SDK:安卓软件开发工具包,全称为“Software Development Kit”。
7. UI:用户界面,全称为“User Interface”。
8. UX:用户体验,全称为“User Experience”。
9. Widget:安卓系统中的一个小工具,可以显示在主屏幕上,提供快捷的操作和显示信息。
10. Fragment:安卓系统中的一个组件,用于实现用户界面的模块化。
1. Android Developers:安卓开发者官方网站,提供了丰富的文档、教程和资源,适合开发者学习安卓编程。
2. XDA Developers:一个安卓社区,提供了大量的安卓相关资讯、教程和讨论,适合对安卓系统感兴趣的用户。
3. Android Central:一个专注于安卓系统的新闻网站,提供了最新的安卓资讯、评测和教程。
4. Stack Overflow:一个编程问答社区,提供了大量的安卓编程问题解答,适合开发者解决安卓编程中的问题。
5. Reddit:一个社交新闻网站,有一个专门的安卓子版块,提供了大量的安卓相关讨论和分享。
利用 Cloud Vision API 进行图像识别和处理(Android篇)利用 Cloud Vision API 进行图像识别和处理 (Android篇)Android作为目前最流行的移动操作系统之一,为开发者提供了广阔的应用开发平台。
利用云服务的 API 进行图像识别和处理已经成为了一种趋势,而谷歌提供的 Cloud Vision API 是其中功能强大且易用性优秀的选择。
本文将介绍如何在 Android 平台上集成 Cloud Vision API,并展示如何使用该 API 进行图像识别和处理。
I. 简介Cloud Vision API 是谷歌提供的一项人工智能服务,能够快速准确地进行图像识别和分析。
它支持多种图像处理任务,包括标签检测、人脸检测、图像文本识别等。
利用 Cloud Vision API,我们可以实现自动化的图像处理以及智能化的图像搜索等功能。
II. 集成 Cloud Vision API1. 创建项目和获取 API 密钥在使用 Cloud Vision API 之前,首先需要在 Google Cloud Platform控制台上创建一个项目,并获取 API 密钥。
具体步骤如下:(略去步骤细节,以免增加字数)2. 集成 API 客户端库在 Android 项目中,我们可以通过集成 Cloud Vision API 的客户端库来方便地调用 API。
在项目的 build.gradle 文件中添加相应的依赖,并进行依赖同步。
III. 图像识别1. 发送图像请求通过 Cloud Vision API,我们可以将一张图片发送到服务器进行识别。
首先,我们需要准备一个图像的字节数组,并将其编码为 Base64 字符串。
然后,构建一个请求对象,指定图像的类型和内容,并将其发送到服务器。
2. 解析服务器返回结果服务器返回的结果是一个 JSON 格式的数据,我们可以通过解析该数据获取到图像的识别结果。
使用线程还是服务?即使用户没和应用交互,服务仍然会可以在后台运行。
因此,你应该在需要时才使用它。
如果你不想在主线程执行一个任务,而是仅当用户和应用交互时执行该任务,你应该创建新线程而不是服务。
例如,你只想activity运行时才播放音乐,就可以在onCreate()方法里创低于android1.6平台如果系统版本低于1.6,你需要实现onStart()方法代替onStartCommand()。
(在安卓2.0,o nStart()不建议使用,更建议用onStartCommand().)要查看对2.0以下版本的兼容性,请查看onStartCommand()文档启动一个服务,通过另一个组件调用startService()方法即可.这导致调用onStartComman d()方法.当一个服务启动,会有个生命周期,它独立于启动它的组件,服务可以后台一直运行,即使启动它的组件被销毁.因此,工作完成,服务应该调用stopSelf()自己关闭自己,或者另外一处理这些请求.(比起上面的IntentService,Service代替了需要等待上次请求处理完毕的方式。
)注意onStartCommand()方法必须返回一个整型变量.这个变量描述可能已被系统停止的服务,如果被停止,系统会接着继续服务(正如下面讨论,IntentService的实现中默认自动帮你做了个处理,尽管可以修改它),返回值必须是如下几个常量之一:START_NOT_STICKY如果系统在onStartCommand()返回后停止服务,系统不会重新创建服务,除非有等待的意图需要处理.如果想避免运行不需要的服务,或者让应用可以轻松的启动未完成的任务,这是一个安全的选择。
START_STICKY如果系统在onStartCommand()返回后停止服务,系统重新创建服务并且调用onStartComman d()函数,但是不要传送最后一个意图。
相反,系统用一个空意图调用onStartCommand(),除非还有想启动服务的意图,这种情况下,这些意图会被传递.这很适合多媒体播放的情况(或类似服务),这种情况下服务不执行命令,但是会无限运行下去,等待处理任务。
Android —— TextView一、TextView的API 1.1 结构 ng.Object ↳ android.view.View ↳android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextView, CheckBox, CompoundButton, ExtractEditText,MultiAutoCompleteTextView, RadioButton, ToggleButton 1.2 API属性名称描述android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。
可选值(none/web/email/phone/map/all)android:autoText 如果设置,将自动执行输入值的拼写纠正。
此处无效果,在显示输入法并输入的时候起作用。
android:bufferType 指定getText()方式取得的文本类别。
选项editable 类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容。
spannable 则可在给定的字符区域使用样式,参见这里1、这里2。
android:capitalize 设置英文字母大写类型。
此处无效果,需要弹出输入法才能看得到,参见EditText此属性说明。
android:cursorVisible设定光标为显示/隐藏,默认显示。
android:digits设置允许输入哪些字符。
如“1234567890.+-*/%\n()”android:drawableBottom 在text的下方输出一个drawable,如图片。
如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
Android基础知识之API等级介绍:可以让开发者通过⼀个表⽰API级别的整数来描述程序在android平台上的兼容性,系统会将与系统本⾝提供的API级别与应⽤指定的API级别⽐较。
尽管他有这个名字,但是该元素只是⽤来指定API级别,并不是⽤来指定SDK或者android平台的版本号。
API级别也是⼀个整数,但是你不能根据android版本号来追溯API级别(例如,它并不等同于主版本号或是主版本与次版本号的和)。
同样,请阅读⽂档.::Google Play会过滤应⽤对⽤户的可见性,⽤户只能看见和下载那些与⽤户设备兼容的⼀些应⽤。
过滤应⽤的⼀种⽅式就是通过Android版本的兼容性。
为此,Google Play会检查每个应⽤的Manifest⽂件标记的属性来构建版本兼容性范围,然后会根据它与⽤户Android系统的API级别的⽐对来决定隐藏或者显⽰该应⽤。
可以参考.属性::android:minSdkVersion::⼀个整数来指定程序可以运⾏的最⼩版本。
如果⽤户系统的API级别⼩于该属性指定的值,系统将会阻⽌⽤户来安装此应⽤。
你应该⼀直声明这个属性。
* 注意* :如果没有显⽰的声明该属性,系统指定⼀个默认值1,表明你的程序兼容Android系统的所有版本。
如果应⽤并不是兼容所有的版本的android系统(举例来说,应⽤⽤到了API3 才引⽤的API),⽽且你没有声明minSdkVersion属性,当应⽤安装到API的级别⼩于3的系统上且试图访问不可⽤的API时,系统将会异常终⽌。
有鉴于此,请确定,应⽤已显式声明 minSdkVersion属性。
:android:targetSdkVersion::⼀个整数⽤来指定应⽤⽬标的API级别。
如果没有设置,默认值等于minSdkVersion所给的值。
::该值⽤来告诉系统应⽤已经在⽬标版本上进⾏测试以及系统可以不启⽤任何兼容性⾏为来维持你的应⽤的向前兼容性。
Android是目前最流行的移动操作系统之一,拥有庞大的用户群体和丰富的应用开发资源。
在Android开发中,图像识别和二维码识别功能已经成为了热门的技术,为应用程序的开发增添了更多的可能性。
本文将介绍如何使用Android的图像识别和二维码识别功能进行开发。
一、图像识别功能的开发1. 图像识别原理图像识别是通过分析和处理图像中的信息,来识别出图像中的物体或特定的内容。
在Android开发中,可以利用Google提供的Vision API来实现图像识别功能。
Vision API使用机器学习的算法,可以识别出图像中的物体、文字等。
2. 集成Vision API要使用Vision API,首先需要在项目中引入Google Play服务库。
然后,在项目的文件中添加如下依赖项:```javaimplementation ':play-services-vision:'```接下来,在需要使用图像识别功能的地方,可以通过以下代码创建一个Vision API的实例:```javaGoogleApiClient mGoogleApiClient = new (this).addApi().build();();```3. 图像识别功能的实现在通过Vision API创建实例后,就可以使用该实例进行图像识别了。
例如,可以通过以下代码来实现在拍照后识别图像中的物体:```java// 创建一个Detector对象BarcodeDetector barcodeDetector = new (context).build();// 加载要识别的图像Bitmap bitmap = (imagePath);// 创建一个Frame对象Frame frame = new ().setBitmap(bitmap).build();// 识别图像中的内容SparseArray<Barcode> barcodes = (frame);// 获取识别结果if (() > 0) {Barcode barcode = (0);String barcodeValue = ;// 处理识别结果...}```二、二维码识别功能的开发1. 二维码识别原理二维码是一种编码方式,通过将信息以黑白像素点的方式编码成图形,从而实现信息的存储和识别。
Android 10 功能和 APIAndroid 10 为用户和开发者引入了强大的功能。
本文重点介绍面向开发者的功能。
要了解 API,请阅读API 差异报告或访问Android API 参考文档,查找“在API 级别 29 添加”的 API。
此外,请务必查阅 Android 10 行为变更(针对以 API 级别 29 为目标的应用和所有应用)以及隐私权变更,以了解平台变更可能给您的应用带来哪些方面的影响。
安全增强功能Android 10 引入了若干安全功能,详见以下各节摘要说明。
改进了生物识别身份验证对话框Android 10 对生物识别身份验证支持进行了以下改进:∙添加了针对生物识别身份验证功能的检查。
∙提供了一种回退机制,如果用户无法使用其生物识别输入设备进行身份验证,则可以使用设备 PIN 码、图案或密码来进行身份验证。
∙提供了一个提示,以告知系统在用户使用隐式生物识别模式完成身份验证后无需要求用户进行确认。
例如,您可以告知系统,在用户使用人脸识别身份验证完成身份验证后无需进一步确认。
直接从 APK 运行嵌入式 DEX 代码从 Android 10 开始,您可以告知平台直接从应用的 APK 文件中运行嵌入式DEX 代码。
如果攻击者设法篡改了设备上本地编译的代码,此选项有助于防止此类攻击。
如需了解详情,请参阅直接从 APK 运行嵌入式 DEX 代码。
TLS 1.3 支持Android 10 增加了对TLS 1.3的支持。
TLS 1.3 是 TLS 标准的主要修订版本,它提升了性能和安全性。
我们的基准测试数据表明,与 TLS 1.2 相比,使用 TLS 1.3 可以将建立安全连接的速度提高 40%。
如需详细了解我们的 TLS 1.3 实现,请参阅“针对所有应用的行为变更”页面内的“TLS”部分。
公共 Conscrypt API从 Android 10 开始,Conscrypt 安全提供程序包含适用于 TLS 功能的公共API。
.ssl下的一组类包含用于访问通用.ssl API 不提供的功能的静态方法。
这些类的名称为相应.ssl类的复数,用户可以由此推断是否为这些类。
例如,在.ssl.SSLSocket实例中运行的代码可以改用SSLSockets中的方法。
注意:如果您仍使用反射访问 TLS 功能,请改为使用公共 API。
这是因为我们已计划好进一步针对非 SDK 接口实施限制。
连接功能Android 10 包含一些与网络和连接相关的改进。
WLAN 网络连接 APIAndroid 10 增加了对点对点连接的支持。
借助此功能,应用可以使用WifiNetworkSpecifier描述所请求网络的属性,以此来提示用户更改设备连接到的接入点。
点对点连接用于“非网络提供”目的,例如 Chromecast 和 Google Home 硬件等辅助设备的引导配置。
如需了解详情,请参阅适用于点对点连接的 WLAN 网络请求 API。
WLAN 网络建议 APIAndroid 10 扩大了支持范围,现在允许应用提示用户连接到 WLAN 接入点。
您可以提供关于要连接到哪个网络的建议。
平台最终会根据来自您的应用和其他应用的输入来选择要接受的接入点。
如需详细了解此功能,请参阅WLAN 建议。
改进了 WLAN 高性能和低延迟模式借助 Android 10,您可以为底层调制解调器提供提示,以最大限度地缩短延迟。
Android 10 扩展了 WLAN 锁定 API,以有效地支持高性能和低延迟模式。
系统会针对高性能和低延迟模式停用 WLAN 节能模式,并且您可以在低延迟模式下启用进一步的延迟优化(具体取决于调制解调器支持)。
仅当获取锁的应用在前台运行且屏幕处于开启状态时才能启用低延迟模式。
低延迟模式对实时移动游戏应用尤其有用。
DNS 解析器中的专用查找Android 10 使用明文查找和“通过传输层安全协议 (TLS) 执行 DNS”模式,增加了对专用 DNS 查找的原生支持。
之前,平台 DNS 解析器仅支持 A 和 AAAA 记录,这些记录仅允许查找与名称关联的 IP 地址,不支持任何其他记录类型。
DnsResolver API 提供了通用的异步解析,使您能够查询SRV、NAPTR,以及其他记录类型。
请注意,解析响应由应用负责执行。
对于基于 NDK 的应用,请参阅android_res_nsend。
WLAN Easy Connect借助 Android 10,您可以利用 Easy Connect 为对等设备配置 WLAN 凭据,以替代已弃用的 WPS。
应用可以使用ACTION_PROCESS_WIFI_EASY_CONNECT_URI intent 将 Easy Connect 集成到其设置和配置流程中。
如需详细了解此功能,请参阅WLAN Easy Connect。
Wi-Fi Direct connection APIWifiP2pConfig和WifiP2pManager API 类在 Android 10 中已更新,以支持利用预先确定的信息快速与 WLAN 直连建立连接的功能。
这一信息通过边信道进行共享,例如蓝牙或 NFC。
以下代码示例显示了如何使用预先确定的信息来创建群组:KOTLIN JAVAWifiP2pManager manager = (WifiP2pManager)getSystemService(Context.WIFI_P2P_SERVICE);Channel channel = manager.initialize(this, getMainLooper(), null);// prefer 5G band for this groupWifiP2pConfig config = new WifiP2pConfig.Builder().setNetworkName("networkName").setPassphrase("passphrase").enablePersistentMode(false).setGroupOperatingBand(WifiP2pConfig.GROUP_OWNER_BAND_5GHZ).build();// create a non-persistent group on 5GHzmanager.createGroup(channel, config, null);要使用凭据加入群组,请将manager.createGroup()替换为以下内容:KOTLIN JAVAmanager.connect(channel, config, null);蓝牙 LE 连接导向型频道 (CoC)借助 Android 10,您的应用可以使用 BLE CoC 连接在两个 BLE 设备之间传输较大的数据流。
此接口抽象化处理了蓝牙和连接机制,以简化实现。
电话功能Android 10 包含一些与电话相关的改进。
通话质量方面的改进Android 10 增加了在支持相关功能的设备上收集进行中的 IP 多媒体子系统(IMS) 通话质量相关信息的功能,包括通过网络接听和拨打电话的质量。
选接电话和来电显示Android 10 让您的应用可以将用户通讯录中不存在号码的来电标识为潜在骚扰电话,以及代表用户拒接骚扰电话而不响铃。
系统会在通话记录中将这些已屏蔽的来电的相关信息记录为已屏蔽的来电,以便用户更清楚地了解何时有过未接来电。
使用此 API,不需要从用户那里获取READ_CALL_LOG权限就可以提供选接电话和来电显示功能。
Call Redirection Service APIAndroid 10 更改了来电 intent 的处理方式。
我们弃用了NEW_OUTGOING_CALL广播,并将其替换为CallRedirectionService API。
CallRedirectionService API 提供了相关接口,以供您修改 Android 平台外拨的电话。
例如,第三方应用可能会取消通话并通过 VoIP 对其进行重新路由。
在外部存储设备中创建文件的相关改进除了引入分区存储之外,Android 10 还增加了以下与外部存储设备相关的功能:∙您可以使用IS_PENDING标记,让您的应用可以在媒体文件写入磁盘时进行独占访问。
∙如果您知道应该在哪个具体位置存储文件,您可以提示系统在何处存储新写入的文件。
∙每个外部存储设备都有唯一的卷名称。
媒体和图形Android 10 引入了以下媒体和图形方面的新功能和 API:共享音频输入Android 10 增加了两个应用同时共享音频输入的功能。
如需了解完整信息,请参阅共享音频输入。
捕获播放的音频Android 10 可让应用捕获其他应用播放的音频。
如需了解完整信息,请参阅捕获播放的音频。
MediaStyle 通知中的拖动条从 Android 10 开始,MediaStyle通知会显示拖动条。
拖动条显示了PlaybackState.getPosition()中的播放进度,并且在某些情况下,拖动条可用于跳转到正在播放的节目中的某个位置。
拖动条的外观和行为受以下规则的控制:∙如果存在处于活动状态的MediaSession,且其持续时长(由MediaMetadata.METADATA_KEY_DURATION指定)大于零,则会出现拖动条。
这意味着该拖动条不会出现在直播和无线电广播等不确定的信息流中。
∙如果会话实现了ACTION_SEEK_TO,则用户可以通过拖动该拖动条来控制播放位置。
原生 MIDI API借助 Android Native MIDI API (AMidi),应用开发者可以使用 C/C++ 代码发送和接收 MIDI 数据、与 C/C++ 音频/控制逻辑进行更紧密的集成以及最大限度地减少对 JNI 的需求。
有关详情,请参阅Android Native MIDI API。
MediaCodecInfo 方面的改进Android 10 向MediaCodecInfo添加了一些方法,这些方法可以显示有关编解码器的更多信息。
如需了解详情,请参阅媒体编解码器。
Thermal API当设备过热时,它们可能会限制 CPU 和/或 GPU,而这可能会以意想不到的方式影响应用和游戏。
使用复杂图形、大量计算或持续网络活动的应用更有可能遇到问题,并且问题可能因芯片组和核心频率、集成级别以及设备封装和设备类型而异。
在 Android 10 中,应用和游戏可以使用 Thermal API 监控设备变化情况,并在设备过热时采取措施维持低电耗状态,使设备恢复到正常温度。
应用在PowerManager中注册监听器,系统通过该监听器报告持续的热状态,热状态的范围从轻度和中度到重度、危急、紧急和关机。