droid_wrap::android::os

Struct Build_VERSION_CODES

Source
pub struct Build_VERSION_CODES { /* private fields */ }
Expand description

当前已知的 SDK 版本代码的枚举。这些值可以在 VERSION#SDK 中找到。版本号会随着每个官方平台版本的发布而单调递增。

Implementations§

Source§

impl Build_VERSION_CODES

Source

pub const CUR_DEVELOPMENT: i32 = 10_000i32

当前开发版本的魔术版本号,尚未发布正式版本。 这必须与 VMRuntime.SDK_VERSION_CUR_DEVELOPMENT 匹配。

Source

pub const BASE: i32 = 1i32

Android 的原始、第一个版本。耶! 2008 年 9 月作为 Android 1.0 公开发布。

Source

pub const BASE_1_1: i32 = 2i32

第一个Android更新。 2009 年 2 月作为 Android 1.1 公开发布。

Source

pub const CUPCAKE: i32 = 3i32

C. 2009年4月公开发行为Android 1.5。

Source

pub const DONUT: i32 = 4i32

D. 于 2009 年 9 月作为 Android 1.6 公开发布。针对此版本或更高版本的应用程序将获得以下新的行为变化: 它们必须明确请求 android.Manifest.permission#WRITE_EXTERNAL_STORAGE 权限才能修改 SD 卡的内容。(针对早期版本的应用程序将始终请求该权限。) 它们必须明确请求 android.Manifest.permission#READ_PHONE_STATE 权限才能检索手机状态信息。(针对早期版本的应用程序将始终请求该权限。) 它们被认为支持不同的屏幕密度和尺寸。(除非另有说明,否则针对早期版本的应用程序被认为仅支持中等密度正常尺寸的屏幕)。它们仍然可以通过 supports-screens 清单标记明确指定屏幕支持。 android.widget.TabHost 将使用新的深色标签背景设计。

Source

pub const ECLAIR: i32 = 5i32

E. 2009 年 10 月公开发布 Android 2.0。针对此版本或更高版本的应用程序将获得以下新的行为变化: android.app.Service#onStartCommand Service.onStartCommand 函数将返回新的 android.app.Service#START_STICKY 行为,而不是旧的兼容性 android.app.Service#START_STICKY_COMPATIBILITY。 android.app.Activity 类现在将在按下按键而不是按下按键时执行后退按键,以便能够检测到虚拟按键的取消按键。 android.widget.TabWidget 类将使用新的选项卡配色方案。在新方案中,前景选项卡具有中等灰色背景,背景选项卡具有深灰色背景。

Source

pub const ECLAIR_0_1: i32 = 6i32

E 增量更新。 2009 年 12 月作为 Android 2.0.1 公开发布。

Source

pub const ECLAIR_MR1: i32 = 7i32

E MR1. 2010 年 1 月作为 Android 2.1 公开发布。

Source

pub const FROYO: i32 = 8i32

F. 2010 年 5 月作为 Android 2.2 公开发布。

Source

pub const GINGERBREAD: i32 = 9i32

G. 2010 年 12 月公开发布为 Android 2.3。针对此版本或更高版本的应用程序将获得以下新的行为变化:应用程序的通知图标将显示在新的深色状态栏背景上,因此在这种情况下必须可见。

Source

pub const GINGERBREAD_MR1: i32 = 10i32

G MR1. 2011 年 2 月作为 Android 2.3.3 公开发布。

Source

pub const HONEYCOMB: i32 = 11i32

H. 2011 年 2 月公开发布为 Android 3.0。针对此版本或更高版本的应用程序将获得以下新的行为变化: 应用程序的默认主题现在为深色全息:android.R.style#Theme_Holo。 在没有物理菜单按钮的大屏幕设备上,软(兼容性)菜单被禁用。 活动生命周期已根据 android.app.Activity 略有变化。如果应用程序不调用其 android.app.Activity#onPause Activity.onPause() 方法的超级实现,它将崩溃。 当应用程序需要访问其某个组件(活动、接收器、服务、提供程序)的权限时,当应用程序想要访问自己的组件时,此权限不再强制执行。这意味着它可以要求获得它本身并不拥有的组件的权限,但仍然可以访问该组件。 android.content.Context#getSharedPreferences Context.getSharedPreferences() 将不会自动重新加载存储中的首选项(除非使用 android.content.Context#MODE_MULTI_PROCESS)。 android.view.ViewGroup#setMotionEventSplittingEnabled 默认为 true。 android.view.WindowManager.LayoutParams#FLAG_SPLIT_TOUCH 在 Windows 上默认启用。 android.widget.PopupWindow#isSplitTouchEnabled() PopupWindow.isSplitTouchEnabled() 默认返回 true。 如果 android.widget.GridView 和 android.widget.ListView 没有实现 android.widget.Checkable,它们将对选定项目使用 android.view.View#setActivated View.setActivated。 android.widget.Scroller 将默认构建为启用“飞轮”行为。

Source

pub const HONEYCOMB_MR1: i32 = 12i32

H MR1. 2011 年 5 月作为 Android 3.1 公开发布。

Source

pub const HONEYCOMB_MR2: i32 = 13i32

H MR2. 2011 年 7 月作为 Android 3.2 公开发布。更新至 Honeycomb MR1 以支持 7 英寸平板电脑、改进屏幕兼容模式等。 从此版本开始,未说明是否支持 XLARGE 屏幕的应用程序只有在针对 HONEYCOMB 或更高版本时才会被假定支持;之前是 GINGERBREAD 或更高版本。不支持至少与当前屏幕一样大屏幕尺寸的应用程序将为用户提供一个 UI,以将其切换到屏幕尺寸兼容模式。 此版本引入了基于屏幕尺寸(单位为 dp)的新屏幕尺寸资源限定符:请参阅 android.content.res.Configuration#screenWidthDp、android.content.res.Configuration#screenHeightDp 和 android.content.res.Configuration#smallestScreenWidthDp。根据 android.content.pm.ApplicationInfo#requiresSmallestWidthDp、android.content.pm.ApplicationInfo#compatibleWidthLimitDp 和 android.content.pm.ApplicationInfo#largestWidthLimitDp 在 <supports-screens> 中提供这些资源限定符,优于旧屏幕尺寸存储桶,对于旧设备,将从中推断出适当的存储桶。 以此版本或更高版本为目标的应用将获得以下新的行为变化:此版本引入了新的 android.content.pm.PackageManager#FEATURE_SCREEN_PORTRAIT 和 android.content.pm.PackageManager#FEATURE_SCREEN_LANDSCAPE 功能。以以前的平台版本为目标的应用被认为需要设备同时支持纵向和横向;当以 Honeycomb MR1 或更高版本为目标时,应用负责指定其所需的任何特定方向。android.os.AsyncTask 在调用 android.os.AsyncTask#execute 时将默认使用串行执行器。android.content.pm.ActivityInfo#configChanges ActivityInfo.configChanges 将设置 android.content.pm.ActivityInfo#CONFIG_SCREEN_SIZE 和 android.content.pm.ActivityInfo#CONFIG_SMALLEST_SCREEN_SIZE 位;对于较旧的应用程序,需要清除这些,因为一些开发人员对该值进行了绝对比较,而不是正确屏蔽他们感兴趣的位。

Source

pub const ICE_CREAM_SANDWICH: i32 = 14i32

I. 2011 年 10 月公开发布为 Android 4.0。针对此版本或更高版本的应用程序将获得以下新的行为变化: 对于没有专用菜单键的设备,即使在手机上也不会显示软件兼容性菜单键。通过针对 Ice Cream Sandwich 或更高版本,您的 UI 必须始终在平板电脑和手机上具有自己的菜单 UI 可供性(如果需要)。 ActionBar 将为您处理此问题。2D 绘图硬件加速现在默认打开。您可以使用 android.R.attr#hardwareAccelerated android:hardwareAccelerated 将其关闭(如果需要),但强烈建议不要这样做,因为它会导致大屏幕设备的性能不佳。 应用程序的默认主题现在是“设备默认”主题:android.R.style#Theme_DeviceDefault。这可能是全息深色主题或特定设备定义的其他深色主题。android.R.style#Theme_Holo 系列不得修改,设备才被视为兼容。 明确请求 Holo 系列主题的应用程序将保证这些主题不会在同一平台版本内改变特性。希望与设备融合的应用程序应使用 android.R.style#Theme_DeviceDefault 系列的主题。 如果您直接关闭光标而不停止对它的管理,托管光标现在可能会引发异常;以前失败会被默默忽略。 视图上的 fadingEdge 属性将被忽略(淡入淡出边缘不再是 UI 的标准部分)。新的 requireFadingEdge 属性允许应用程序在特殊情况下强制淡入淡出边缘。 android.content.Context#bindService Context.bindService() 不会自动添加 android.content.Context#BIND_WAIVE_PRIORITY。 应用程序小部件将自动在其周围添加标准填充,而不是依赖于嵌入到小部件本身的填充。如果您在将窗口添加到窗口管理器后尝试更改窗口类型,则会引发异常。以前这会导致随机的错误行为。 android.view.animation.AnimationSet 会解析出定义的 duration、fillBefore、fillAfter、repeatMode 和 startOffset XML 属性。 android.app.ActionBar#setHomeButtonEnabled ActionBar.setHomeButtonEnabled() 默认为 false。

Source

pub const ICE_CREAM_SANDWICH_MR1: i32 = 15i32

I MR1. 2011年12月以Android 4.03公开发布。

Source

pub const JELLY_BEAN: i32 = 16i32

J. 2012 年 7 月公开发布,版本号为 Android 4.1。针对此版本或更高版本的应用程序将获得以下新的行为变化: 您必须明确请求 android.Manifest.permission#READ_CALL_LOG 和/或 android.Manifest.permission#WRITE_CALL_LOG 权限;不再通过 android.Manifest.permission#READ_CONTACTS 和 android.Manifest.permission#WRITE_CONTACTS 隐式提供对通话日志的访问权限。 如果为集合容器的 android.widget.RemoteViewsService 生成的视图设置 onClick 处理程序,android.widget.RemoteViews 将引发异常;以前这只会导致警告日志消息。 嵌入式选项卡的新 android.app.ActionBar 策略:现在,无论屏幕大小如何,嵌入式选项卡在纵向模式下始终堆叠在操作栏中。 android.webkit.WebSettings#setAllowFileAccessFromFileURLs(boolean) WebSettings.setAllowFileAccessFromFileURLs 和 android.webkit.WebSettings#setAllowUniversalAccessFromFileURLs(boolean) WebSettings.setAllowUniversalAccessFromFileURLs 默认为 false。 如果应用程序的清单中不存在给定的组件类名,则对 android.content.pm.PackageManager#setComponentEnabledSetting PackageManager.setComponentEnabledSetting 的调用现在将抛出 IllegalArgumentException。如果在 Activity 被销毁后调用, 将抛出 IllegalStateException。 辅助功能服务必须需要新的 android.Manifest.permission#BIND_ACCESSIBILITY_SERVICE 权限,否则它们将无法使用。 android.accessibilityservice.AccessibilityServiceInfo#FLAG_INCLUDE_NOT_IMPORTANT_VIEWS 必须设置 AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS 才能将不重要的视图包含在查询中。

Source

pub const JELLY_BEAN_MR1: i32 = 17i32

J MR1. 于 2012 年 11 月公开发布为 Android 4.2。针对此版本或更高版本的应用程序将获得以下行为新变化:内容提供程序: 有关详细信息,请参阅提供程序文档中的 android:exported 部分。android.view.View#getLayoutDirection() View.getLayoutDirection() 可以根据语言环境等返回不同于 android.view.View#LAYOUT_DIRECTION_LTR 的值。 android.webkit.WebView#addJavascriptInterface(Object, String) WebView.addJavascriptInterface 要求在方法上进行明确注释,以便可以从 Javascript 访问它们。

Source

pub const JELLY_BEAN_MR2: i32 = 18i32

J MR2. 2013 年 7 月作为 Android 4.3 公开发布。

Source

pub const KITKAT: i32 = 19i32

K. 2013 年 10 月公开发布为 Android 4.4。针对此版本或更高版本的应用将获得这些新的行为变化。有关此版本的更多信息,请参阅 Android KitKat 概述。 android.preference.PreferenceActivity#isValidFragment(String) PreferenceActivity.isValueFragment 的默认结果变为 false 而不是 true。 在 android.webkit.WebView 中,针对早期版本的应用将直接评估 JS URL,并且评估的任何结果都不会替换当前页面内容。针对 KITKAT 或更高版本的加载 JS URL 的应用将让该 URL 的结果替换当前页面的内容 android.app.AlarmManager#set AlarmManager.set 被解释为不精确的值,以便系统在安排闹钟方面更灵活。 android.content.Context#getSharedPreferences(String, int) Context.getSharedPreferences 不再允许使用空名称。 android.widget.RelativeLayout 更改为正确计算包装的内容边距。允许绘制 android.app.ActionBar 的窗口内容叠加层。 android.Manifest.permission#READ_EXTERNAL_STORAGE 权限现在始终强制执行。访问属于调用应用的特定于软件包的外部存储目录不再需要 android.Manifest.permission#READ_EXTERNAL_STORAGE 或 android.Manifest.permission#WRITE_EXTERNAL_STORAGE 权限。

Source

pub const KITKAT_WATCH: i32 = 20i32

K for watches. 2014年6月以Android 4.4W公开发布。针对此或以后的版本的应用程序将获得这些新的行为更改: android.app.AlertDialog如果主题未指定一个,则可能没有默认背景。

Source

pub const L: i32 = 21i32

临时直到我们完全切换到Lollipop。

Source

pub const LOLLIPOP: i32 = 21i32

L. 于 2014 年 11 月作为 Android 5.0 公开发布。针对此版本或更高版本的应用程序将获得这些新的行为变化。有关此版本的更多信息,请参阅 Android Lollipop 概述。 android.content.Context#bindService Context.bindService 现在需要显式 Intent,如果给定隐式 Intent,将会引发异常。 android.app.Notification.Builder Notification.Builder 不会调整其各种通知元素的颜色以更好地匹配新的材料设计外观。 android.os.Message 将在回收消息时验证消息当前未在使用中。大多数地方将自动启用窗口中的硬件加速绘制。 如果连接具有多种项目类型的适配器,android.widget.Spinner 将会引发异常。 如果应用程序是启动器,即使用户使用公司配置文件(这要求应用程序使用 android.content.pm.LauncherApps 来正确填充其应用程序 UI),启动器也将可供用户使用。 调用 android.app.Service#stopForeground Service.stopForeground 并将 removeNotification 设置为 false 将修改仍在发布的通知,使其不再强制持续。 android.service.dreams.DreamService 必须要求 android.Manifest.permission#BIND_DREAM_SERVICE 权限才可使用。

Source

pub const LOLLIPOP_MR1: i32 = 22i32

L MR1. 2015 年 3 月公开发布为 Android 5.1。有关此版本的更多信息,请参阅 Android 5.1 API。

Source

pub const M: i32 = 23i32

M. 2015 年 10 月公开发布为 Android 6.0。针对此版本或更高版本的应用程序将获得这些新的行为变化。有关此版本的更多信息,请参阅 Android 6.0 Marshmallow 概述。 运行时权限。危险权限不再在安装时授予,但必须由应用程序在运行时通过 android.app.Activity#requestPermissions 请求。蓝牙和 Wi-Fi 扫描现在需要持有位置权限。 android.app.AlarmManager#setTimeZone 如果给定的时区不是 Olson,AlarmManager.setTimeZone 将失败。 活动转换只会将返回视图层次结构中映射的共享元素返回给调用活动。 android.view.View 允许多种可能破坏现有应用的行为:如果 restore() 调用次数过多,则 Canvas 会抛出异常;当返回 UNSPECIFIED 测量规格时,小部件可能会返回提示大小;它会尊重属性 android.R.attr#foreground、android.R.attr#foregroundGravity、android.R.attr#foregroundTint 和 android.R.attr#foregroundTintMode。 android.view.MotionEvent#getButtonState MotionEvent.getButtonState 将不再将 android.view.MotionEvent#BUTTON_PRIMARY 和 android.view.MotionEvent#BUTTON_SECONDARY 报告为 android.view.MotionEvent#BUTTON_STYLUS_PRIMARY 和 android.view.MotionEvent#BUTTON_STYLUS_SECONDARY 的同义词。 android.widget.ScrollView 现在会在测量时尊重布局参数边距。

Source

pub const N: i32 = 24i32

N. 2016 年 8 月公开发布,版本号为 Android 7.0。针对此版本或更高版本的应用将获得这些新的行为变化。有关此版本的更多信息,请参阅 Android Nougat 概述。 android.app.DownloadManager.Request#setAllowedNetworkTypes DownloadManager.Request.setAllowedNetworkTypes 在仅指定 android.app.DownloadManager.Request#NETWORK_WIFI 时将禁用“允许超过计量”。android.app.DownloadManager 不再允许访问原始文件路径。 android.app.Notification.Builder#setShowWhen 必须明确调用 Notification.Builder.setShowWhen 才能显示时间,android.app.Notification.Builder Notification.Builder 中还对通知的显示方式进行了各种其他更改。 android.content.Context#MODE_WORLD_READABLE 和 android.content.Context#MODE_WORLD_WRITEABLE 不再受支持。 android.os.FileUriExposedException 将抛出到应用程序。应用程序将根据 android.view.View#DRAG_FLAG_GLOBAL 看到全局拖放。 android.webkit.WebView#evaluateJavascript WebView.evaluateJavascript 不会从空的 WebView 中保留状态。 android.animation.AnimatorSet 不会忽略在 start() 之前对 end() 的调用。 android.app.AlarmManager#cancel(android.app.PendingIntent) 如果给定一个空操作,AlarmManager.cancel 将抛出一个 NullPointerException。 android.app.FragmentManager 将确保在将片段放入后退堆栈之前已创建片段。android.app.FragmentManager 在 android.app.Fragment#onCreate Fragment.onCreate 中恢复片段,而不是在方法返回后。 android.R.attr#resizeableActivity 默认为 true。android.graphics.drawable.AnimatedVectorDrawable 在打开无效的 VectorDrawable 动画时抛出异常。 在某些类型的布局参数之间进行转换时(例如从 android.widget.LinearLayout.LayoutParams LinearLayout.LayoutParams 到 android.widget.RelativeLayout.LayoutParams RelativeLayout.LayoutParams),android.view.ViewGroup.MarginLayoutParams 将不再被丢弃。 设备密度发生变化时,您的应用进程不会被终止。拖放。视图收到 android.view.DragEvent#ACTION_DRAG_ENTERED 事件后,当拖动阴影移动到可以接受数据的后代视图中时,视图会收到 android.view.DragEvent#ACTION_DRAG_EXITED 事件,并且当拖动阴影位于该后代视图内时,不会收到 android.view.DragEvent#ACTION_DRAG_LOCATION 和 android.view.DragEvent#ACTION_DROP 事件,即使后代视图从这些事件的处理程序中返回 false。

Source

pub const N_MR1: i32 = 25i32

*N MR1. 于 2016 年 10 月作为 Android 7.1 公开发布。有关此版本的更多信息,请参阅面向开发者的 Android 7.1。

Source

pub const O: i32 = 26i32

O. 2017 年 8 月公开发布为 Android 8.0。针对此版本或更高版本的应用程序将获得这些新的行为变化。有关此版本的更多信息,请参阅 Android Oreo 概述。 后台执行限制已应用于应用程序。AccountManager 的 android.accounts.AccountManager#getAccountsByType、android.accounts.AccountManager#getAccountsByTypeAndFeatures 和 android.accounts.AccountManager#hasFeatures 的行为已更改,如那里所述。 android.app.ActivityManager.RunningAppProcessInfo#IMPORTANCE_PERCEPTIBLE_PRE_26 现在返回为 android.app.ActivityManager.RunningAppProcessInfo#IMPORTANCE_PERCEPTIBLE。 android.app.NotificationManager 现在需要使用通知通道。 在 Application#onCreate Application.onCreate 中设置的严格模式更改将在该函数返回后不再被破坏。 带有本机代码的共享库 apk 将把该本机代码包含在其客户端的库路径中。 android.content.Context#getSharedPreferences 凭据加密存储中的 Context.getSharedPreferences 将在用户解锁之前引发异常。 尝试在不支持该功能的设备上检索 Context#FINGERPRINT_SERVICE 现在将引发运行时异常。 当 fragment 停止时,android.app.Fragment 将停止任何活动视图动画。 资源中尝试使用应用可能正在使用的默认主题的某些兼容性代码将被关闭,要求应用明确请求具有正确主题的资源。 android.content.ContentResolver#notifyChange ContentResolver.notifyChange 和 android.content.ContentResolver#registerContentObserver 如果调用者无权访问提供程序(或提供程序不存在),ContentResolver.registerContentObserver 将引发 SecurityException;否则该调用将被默默忽略。 android.hardware.camera2.CameraDevice#createCaptureRequest CameraDevice.createCaptureRequest 将默认启用 android.hardware.camera2.CaptureRequest#CONTROL_ENABLE_ZSL 进行静态图像捕获。 如果您无法访问壁纸,WallpaperManager 的 android.app.WallpaperManager#getWallpaperFile、android.app.WallpaperManager#getDrawable、android.app.WallpaperManager#getFastDrawable、android.app.WallpaperManager#peekDrawable 和 android.app.WallpaperManager#peekFastDrawable 将引发异常。 android.hardware.usb.UsbDeviceConnection#requestWait UsbDeviceConnection.requestWait 的行为已根据那里的文档进行了修改。 StrictMode.VmPolicy.Builder#detectAll StrictMode.VmPolicy.Builder.detectAll 还将启用 StrictMode.VmPolicy.Builder#detectContentUriWithoutPermission 和 StrictMode.VmPolicy.Builder#detectUntaggedSockets。StrictMode.ThreadPolicy.Builder#detectAll StrictMode.ThreadPolicy.Builder.detectAll 还将启用 StrictMode.ThreadPolicy.Builder#detectUnbufferedIo。 android.provider.DocumentsContract 的各种方法将向调用者抛出失败异常,而不是返回 null。 View#hasFocusable() View.hasFocusable 现在包括可自动对焦的视图。 android.view.SurfaceView 将不再总是在底层 Surface 对象发生变化时更改它;应用程序需要查看对象的当前状态以确定他们感兴趣的哪些内容发生了变化。 android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY 必须用于覆盖窗口,不允许使用其他系统覆盖窗口类型。 android.view.ViewTreeObserver#addOnDrawListener 如果从 onDraw 内部调用 ViewTreeObserver.addOnDrawListener,将会引发异常。 android.graphics.Canvas#setBitmap Canvas.setBitmap 将不再保留画布的当前矩阵和剪辑堆栈。 android.widget.ListPopupWindow#setHeight 如果提供负高度,ListPopupWindow.setHeight 将会引发异常。 android.widget.TextView 将使用国际化输入数字、日期和时间。 必须使用 android.widget.Toast 来显示 Toast 窗口;不能直接使用 Toast 窗口类型。 android.net.wifi.WifiManager#getConnectionInfo WifiManager.getConnectionInfo 要求调用者持有位置权限才能返回 BSSID/SSID android.net.wifi.p2p.WifiP2pManager#requestPeers WifiP2pManager.requestPeers 要求调用者持有位置权限。 android.R.attr#maxAspectRatio 默认为 0,表示对应用的最大宽高比没有限制(因此可以拉伸以填充更大的屏幕)。 android.R.attr#focusable 默认为新状态( ),除非明确覆盖,否则它将继承 android.R.attr#clickable 的值。 所有不提供焦点状态可绘制对象的视图都将提供默认的主题适当的焦点状态突出显示。可以通过将 android.R.attr#defaultFocusHighlightEnabled 设置为 false 来禁用此功能。

Source

pub const O_MR1: i32 = 27i32

O MR1. 2017 年 12 月公开发布为 Android 8.1。针对此版本或更高版本的应用将获得这些新的行为变化。有关此版本的更多信息,请参阅 Android 8.1 功能和 API。 导出和链接到 apk 共享库的应用必须以一致的顺序明确枚举所有签名证书。如果关联的活动不是全屏且不透明的,则不能使用 android.R.attr#screenOrientation 来请求固定方向。

Source

pub const P: i32 = 28i32

P. 2018 年 8 月公开发布为 Android 9。针对此版本或更高版本的应用将获得这些新的行为变化。有关此版本的更多信息,请参阅 Android 9 Pie 概述。 android.app.Service#startForeground Service.startForeground 要求应用持有权限 android.Manifest.permission#FOREGROUND_SERVICE。android.widget.LinearLayout 将始终重新测量加权子项,即使没有多余空间也是如此。

Source

pub const Q: i32 = 29i32

Q. 2019 年 9 月公开发布为 Android 10。针对此版本或更高版本的应用将获得这些新的行为变化。有关此版本的更多信息,请参阅 Android 10 概览。 行为变化:所有应用行为变化:针对 API 29+ 的应用

Source

pub const R: i32 = 30i32

R. 2020 年 9 月公开发布,版本号为 Android 11。针对此版本或更高版本的应用将获得这些新的行为变更。有关此版本的更多信息,请参阅 Android 11 概览。 行为变更:所有应用行为变更:针对 Android 11 的应用 Android 11 中非 SDK 接口限制的更新

Source

pub const S: i32 = 31i32

S.

Source

pub const S_V2: i32 = 32i32

S V2. 再一次冲向突破口,亲爱的朋友们,再一次。

Source

pub const TIRAMISU: i32 = 33i32

Tiramisu.

Source

pub const UPSIDE_DOWN_CAKE: i32 = 34i32

Upside Down Cake.

Methods from Deref<Target = GlobalRef>§

Source

pub fn as_obj(&self) -> &JObject<'static>

Get the object from the global ref

This borrows the ref and prevents it from being dropped as long as the JObject sticks around.

Methods from Deref<Target = JObject<'static>>§

Source

pub fn as_raw(&self) -> *mut _jobject

Returns the raw JNI pointer.

Trait Implementations§

Source§

impl Debug for Build_VERSION_CODES

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for Build_VERSION_CODES

Source§

type Target = GlobalRef

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl From<&GlobalRef> for Build_VERSION_CODES

Source§

fn from(obj: &GlobalRef) -> Self

Converts to this type from the input type.
Source§

impl Into<GlobalRef> for &Build_VERSION_CODES

Source§

fn into(self) -> GlobalRef

Converts this type into the (usually inferred) input type.
Source§

impl JObjNew for Build_VERSION_CODES

Source§

type Fields = ()

字段类型
Source§

fn _new(this: &GlobalRef, fields: Self::Fields) -> Self

从java对象创建本地对象。 this java对象引用。
Source§

fn null() -> Self
where Self: Sized, Self::Fields: Default,

创建空对象。
Source§

impl JObjRef for Build_VERSION_CODES

Source§

fn java_ref(&self) -> GlobalRef

获取java对象引用。
Source§

impl JType for Build_VERSION_CODES

Source§

const CLASS: &'static str = "android/os/Build$VERSION_CODES"

java类的名称。
Source§

const OBJECT_SIG: &'static str = "Landroid/os/Build$VERSION_CODES;"

对象的签名描述。
Source§

type Error = Error

错误类型。
Source§

const DIM: u8 = 0u8

数组维度,0表示不是数组
Source§

impl PartialEq for Build_VERSION_CODES

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl ToString for Build_VERSION_CODES

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.