pdfbox c# port : Excel pdf bookmarks application control tool html web page wpf online android-cdd0-part523

Compatibility Definition
Android 6.0
Last updated: October 16th, 2015
Copyright © 2015, Google Inc. All rights reserved.
compatibility@android.com
Excel pdf bookmarks - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
bookmark page in pdf; bookmarks pdf documents
Excel pdf bookmarks - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
create bookmark pdf file; create bookmarks pdf
1. Introduction
2. Device Types
2.1 Device Configurations
3. Software
3.1. Managed API Compatibility
3.2. Soft API Compatibility
3.2.1. Permissions
3.2.2. Build Parameters
3.2.3. Intent Compatibility
3.2.3.1. Core Application Intents
3.2.3.2. Intent Resolution
3.2.3.3. Intent Namespaces
3.2.3.4. Broadcast Intents
3.2.3.5. Default App Settings
3.3. Native API Compatibility
3.3.1. Application Binary Interfaces
3.3.2. 32-bit ARM Native Code Compatibility
3.4. Web Compatibility
3.4.1. WebView Compatibility
3.4.2. Browser Compatibility
3.5. API Behavioral Compatibility
3.6. API Namespaces
3.7. Runtime Compatibility
3.8. User Interface Compatibility
3.8.1. Launcher (Home Screen)
3.8.2. Widgets
3.8.3. Notifications
3.8.4. Search
3.8.5. Toasts
3.8.6. Themes
3.8.7. Live Wallpapers
3.8.8. Activity Switching
3.8.9. Input Management
3.8.10. Lock Screen Media Control
3.8.11. Dreams
3.8.12. Location
3.8.13. Unicode and Font
3.9. Device Administration
3.9.1 Device Provisioning
3.9.1.1 Device Owner provisioning
3.9.1.2 Managed profile provisioning
3.9.2. Managed Profile Support
3.10. Accessibility
3.11. Text-to-Speech
3.12. TV Input Framework
3.12.1. TV App
3.12.1.1. Electronic Program Guide
3.12.1.2. Navigation
3.12.1.3. TV input app linking
4. Application Packaging Compatibility
5. Multimedia Compatibility
5.1. Media Codecs
5.1.1. Audio Codecs
5.1.2. Image Codecs
5.1.3. Video Codecs
5.2. Video Encoding
5.3. Video Decoding
5.4. Audio Recording
5.4.1. Raw Audio Capture
5.4.2. Capture for Voice Recognition
5.4.3. Capture for Rerouting of Playback
5.5. Audio Playback
5.5.1. Raw Audio Playback
5.5.2. Audio Effects
5.5.3. Audio Output Volume
5.6. Audio Latency
5.7. Network Protocols
5.8. Secure Media
5.9. Musical Instrument Digital Interface
(MIDI)
5.10. Professional Audio
Table of Contents
Page 2 of 74
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
document file. Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. Also a preview
convert word to pdf with bookmarks; acrobat split pdf bookmark
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF file by top level bookmarks. The following C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
bookmark pdf acrobat; bookmark template pdf
6. Developer Tools and Options
Compatibility
6.1. Developer Tools
6.2. Developer Options
7. Hardware Compatibility
7.1. Display and Graphics
7.1.1. Screen Configuration
7.1.1.1. Screen Size
7.1.1.2. Screen Aspect Ratio
7.1.1.3. Screen Density
7.1.2. Display Metrics
7.1.3. Screen Orientation
7.1.4. 2D and 3D Graphics Acceleration
7.1.5. Legacy Application Compatibility Mode
7.1.6. Screen Technology
7.1.7. Secondary Displays
7.2. Input Devices
7.2.1. Keyboard
7.2.2. Non-touch Navigation
7.2.3. Navigation Keys
7.2.4. Touchscreen Input
7.2.5. Fake Touch Input
7.2.6. Game Controller Support
7.2.6.1. Button Mappings
7.2.7. Remote Control
7.3. Sensors
7.3.1. Accelerometer
7.3.2. Magnetometer
7.3.3. GPS
7.3.4. Gyroscope
7.3.5. Barometer
7.3.6. Thermometer
7.3.7. Photometer
7.3.8. Proximity Sensor
7.3.9. High Fidelity Sensors
7.3.10. Fingerprint Sensor
7.4. Data Connectivity
7.4.1. Telephony
7.4.2. IEEE 802.11 (Wi-Fi)
7.4.2.1. Wi-Fi Direct
7.4.2.2. Wi-Fi Tunneled Direct Link Setup
7.4.3. Bluetooth
7.4.4. Near-Field Communications
7.4.5. Minimum Network Capability
7.4.6. Sync Settings
7.5. Cameras
7.5.1. Rear-Facing Camera
7.5.2. Front-Facing Camera
7.5.3. External Camera
7.5.4. Camera API Behavior
7.5.5. Camera Orientation
7.6. Memory and Storage
7.6.1. Minimum Memory and Storage
7.6.2. Application Shared Storage
7.6.3. Adoptable Storage
7.7. USB
7.8. Audio
7.8.1. Microphone
7.8.2. Audio Output
7.8.2.1. Analog Audio Ports
7.8.3. Near-Ultrasound
8. Performance and Power
8.1. User Experience Consistency
8.2. File I/O Access Performance
8.3. Power-Saving Modes
8.4. Power Consumption Accounting
Page 3 of 74
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Demo Code in VB.NET. The following VB.NET codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
bookmarks pdf files; creating bookmarks pdf files
C# PDF File Compress Library: Compress reduce PDF size in C#.net
NET framework. Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. C# class demo
create bookmarks in pdf; bookmark a pdf file
9. Security Model Compatibility
9.1. Permissions
9.2. UID and Process Isolation
9.3. Filesystem Permissions
9.4. Alternate Execution Environments
9.5. Multi-User Support
9.6. Premium SMS Warning
9.7. Kernel Security Features
9.8. Privacy
9.9. Full-Disk Encryption
9.10. Verified Boot
9.11. Keys and Credentials
9.12. Data Deletion
10. Software Compatibility Testing
10.1. Compatibility Test Suite
10.2. CTS Verifier
11. Updatable Software
12. Document Changelog
13. Contact Us
14. Resources
Page 4 of 74
XDoc.Excel for .NET, Comprehensive .NET Excel Imaging Features
zooming & rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Excel Convert. Convert Excel to PDF; Convert Excel
export excel to pdf with bookmarks; creating bookmarks in a pdf document
.NET PDF SDK - Description of All PDF Processing Control Feastures
bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. PDF Create. Create PDF from Word (docx, doc); Create PDF from Excel
create bookmarks in pdf from excel; how to add a bookmark in pdf
1. Introduction
This document enumerates the requirements that must be met in order for devices to be compatible
with Android 6.0.
The use of “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD
NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” is per the IETF standard defined in RFC2119
[Resources, 1
].
As used in this document, a “device implementer” or “implementer” is a person or organization
developing a hardware/software solution running Android 6.0. A “device implementation” or
“implementation is the hardware/software solution so developed.
To be considered compatible with Android 6.0, device implementations MUST meet the requirements
presented in this Compatibility Definition, including any documents incorporated via reference.
Where this definition or the software tests described in section 10
is silent, ambiguous, or incomplete,
it is the responsibility of the device implementer to ensure compatibility with existing implementations.
For this reason, the Android Open Source Project [Resources, 2
] is both the reference and preferred
implementation of Android. Device implementers are STRONGLY RECOMMENDED to base their
implementations to the greatest extent possible on the “upstream” source code available from the
Android Open Source Project. While some components can hypothetically be replaced with alternate
implementations, it is STRONGLY RECOMMENDED to not follow this practice, as passing the
software tests will become substantially more difficult. It is the implementer’s responsibility to ensure
full behavioral compatibility with the standard Android implementation, including and beyond the
Compatibility Test Suite. Finally, note that certain component substitutions and modifications are
explicitly forbidden by this document.
Many of the resources listed in section 14
are derived directly or indirectly from the Android SDK, and
will be functionally identical to the information in that SDK’s documentation. For any case where this
Compatibility Definition or the Compatibility Test Suite disagrees with the SDK documentation, the
SDK documentation is considered authoritative. Any technical details provided in the references
included in section 14
are considered by inclusion to be part of this Compatibility Definition.
2. Device Types
While the Android Open Source Project has been used in the implementation of a variety of device
types and form factors, many aspects of the architecture and compatibility requirements were
optimized for handheld devices. Starting from Android 5.0, the Android Open Source Project aims to
embrace a wider variety of device types as described in this section.
Android Handheld device refers to an Android device implementation that is typically used by
holding it in the hand, such as mp3 players, phones, and tablets. Android Handheld device
implementations:
MUST have a touchscreen embedded in the device.
MUST have a power source that provides mobility, such as a battery.
Android Television device refers to an Android device implementation that is an entertainment
interface for consuming digital media, movies, games, apps, and/or live TV for users sitting about ten
feet away (a “lean back” or “10-foot user interface”). Android Television devices:
MUST have an embedded screen OR include a video output port, such as VGA, HDMI, or
a wireless port for display.
MUST declare the features android.software.leanback and
android.hardware.type.television [Resources, 3
].
Android Watch device refers to an Android device implementation intended to be worn on the body,
Page 5 of 74
XDoc.Word for .NET, Advanced .NET Word Processing Features
& rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. Word Create. Create Word from PDF; Create Word
creating bookmarks in pdf from word; add bookmarks pdf
XDoc.PowerPoint for .NET, All Mature Features Introductions
& rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. PowerPoint Convert. Convert PowerPoint to PDF; Convert
add bookmarks to pdf reader; bookmarks in pdf files
perhaps on the wrist, and:
MUST have a screen with the physical diagonal length in the range from 1.1 to 2.5 inches.
MUST declare the feature android.hardware.type.watch.
MUST support uiMode = UI_MODE_TYPE_WATCH [Resources, 4
].
Android Automotive implementation refers to a vehicle head unit running Android as an operating
system for part or all of the system and/or infotainment functionality. Android Automotive
implementations:
MUST declare the feature android.hardware.type.automotive.
MUST support uiMode = UI_MODE_TYPE_CAR [Resources, 
5
].
All Android device implementations that do not fit into any of the above device types still MUST meet
all requirements in this document to be Android 6.0 compatible, unless the requirement is explicitly
described to be only applicable to a specific Android device type from above.
2.1 Device Configurations
This is a summary of major differences in hardware configuration by device type. (Empty cells denote
a “MAY”). Not all configurations are covered in this table; see relevant hardware sections for more
detail.
Category
Feature
Section
Handheld Television
Watch
Automotive
Other
Input
D-pad
7.2.2. Non-
touch
Navigation
MUST
Touchscreen
7.2.4.
Touchscreen
input
MUST
MUST
SHOULD
Microphone
7.8.1.
Microphone
MUST
SHOULD
MUST
MUST
SHOULD
Sensors
Accelerometer
7.3.1
Accelerometer
SHOULD
SHOULD
SHOULD
GPS
7.3.3. GPS
SHOULD
SHOULD
Connectivity
Wi-Fi
7.4.2. IEEE
802.11
SHOULD
MUST
SHOULD
SHOULD
Wi-Fi Direct
7.4.2.1. Wi-Fi
Direct
SHOULD
SHOULD
SHOULD
Bluetooth
7.4.3.
Bluetooth
SHOULD
MUST
MUST
MUST
SHOULD
Bluetooth Low
Energy
7.4.3.
Bluetooth
SHOULD
MUST
SHOULD SHOULD
SHOULD
USB
peripheral/host
mode
7.7. USB
SHOULD
SHOULD
SHOULD
Output
Speaker
and/or Audio
output ports
7.8.2. Audio
Output
MUST
MUST
MUST
MUST
Page 6 of 74
3. Software
3.1. Managed API Compatibility
The managed Dalvik bytecode execution environment is the primary vehicle for Android applications.
The Android application programming interface (API) is the set of Android platform interfaces exposed
to applications running in the managed runtime environment. Device implementations MUST provide
complete implementations, including all documented behaviors, of any documented API exposed by
the Android SDK [Resources, 6
] or any API decorated with the “@SystemApi” marker in the upstream
Android source code.
Device implementations MUST NOT omit any managed APIs, alter API interfaces or signatures,
deviate from the documented behavior, or include no-ops, except where specifically allowed by this
Compatibility Definition.
This Compatibility Definition permits some types of hardware for which Android includes APIs to be
omitted by device implementations. In such cases, the APIs MUST still be present and behave in a
reasonable way. See section 7
for specific requirements for this scenario.
3.2. Soft API Compatibility
In addition to the managed APIs from section 3.1
, Android also includes a significant runtime-only
“soft” API, in the form of such things as intents, permissions, and similar aspects of Android
applications that cannot be enforced at application compile time.
3.2.1. Permissions
Device implementers MUST support and enforce all permission constants as documented by the
Permission reference page [Resources, 7
]. Note that section 9
lists additional requirements related to
the Android security model.
3.2.2. Build Parameters
The Android APIs include a number of constants on the android.os.Build class [Resources, 8
] that are
intended to describe the current device. To provide consistent, meaningful values across device
implementations, the table below includes additional restrictions on the formats of these values to
which device implementations MUST conform.
Parameter
Details
VERSION.RELEASE
The version of the currently-executing Android system, in human-
readable format. This field MUST have one of the string values
defined in [Resources, 9
].
VERSION.SDK
The version of the currently-executing Android system, in a format
accessible to third-party application code. For Android 6.0, this field
MUST have the integer value 23.
VERSION.SDK_INT
The version of the currently-executing Android system, in a format
accessible to third-party application code. For Android 6.0, this field
MUST have the integer value 23.
VERSION.INCREMENTAL
A value chosen by the device implementer designating the specific
build of the currently-executing Android system, in human-readable
format. This value MUST NOT be reused for different builds made
available to end users. A typical use of this field is to indicate which
build number or source-control change identifier was used to generate
Page 7 of 74
the build. There are no requirements on the specific format of this
field, except that it MUST NOT be null or the empty string ("").
BOARD
A value chosen by the device implementer identifying the specific
internal hardware used by the device, in human-readable format. A
possible use of this field is to indicate the specific revision of the board
powering the device. The value of this field MUST be encodable as 7-
bit ASCII and match the regular expression “^[a-zA-Z0-9_-]+$”.
BRAND
A value reflecting the brand name associated with the device as
known to the end users. MUST be in human-readable format and
SHOULD represent the manufacturer of the device or the company
brand under which the device is marketed. The value of this field
MUST be encodable as 7-bit ASCII and match the regular expression
“^[a-zA-Z0-9_-]+$”.
SUPPORTED_ABIS
The name of the instruction set (CPU type + ABI convention) of native
code. See section 3.3. Native API Compatibility
.
SUPPORTED_32_BIT_ABIS
The name of the instruction set (CPU type + ABI convention) of native
code. See section 3.3. Native API Compatibility
.
SUPPORTED_64_BIT_ABIS
The name of the second instruction set (CPU type + ABI convention)
of native code. See section 3.3. Native API Compatibility
.
CPU_ABI
The name of the instruction set (CPU type + ABI convention) of native
code. See section 3.3. Native API Compatibility
.
CPU_ABI2
The name of the second instruction set (CPU type + ABI convention)
of native code. See section 3.3. Native API Compatibility
.
DEVICE
A value chosen by the device implementer containing the
development name or code name identifying the configuration of the
hardware features and industrial design of the device. The value of
this field MUST be encodable as 7-bit ASCII and match the regular
expression “^[a-zA-Z0-9_-]+$”.
FINGERPRINT
A string that uniquely identifies this build. It SHOULD be reasonably
human-readable. It MUST follow this template:
$(BRAND)/$(PRODUCT)/
$(DEVICE):$(VERSION.RELEASE)/$(ID)/$(VERSION.INCREMENTAL):$(TYPE)/$(TAGS)
For example:
acme/myproduct/
mydevice:6.0/LMYXX/3359:userdebug/test-keys
The fingerprint MUST NOT include whitespace characters. If other
fields included in the template above have whitespace characters,
they MUST be replaced in the build fingerprint with another character,
such as the underscore ("_") character. The value of this field MUST
be encodable as 7-bit ASCII.
HARDWARE
The name of the hardware (from the kernel command line or /proc). It
SHOULD be reasonably human-readable. The value of this field
MUST be encodable as 7-bit ASCII and match the regular expression
“^[a-zA-Z0-9_-]+$”.
HOST
A string that uniquely identifies the host the build was built on, in
human-readable format. There are no requirements on the specific
format of this field, except that it MUST NOT be null or the empty
string ("").
An identifier chosen by the device implementer to refer to a specific
Page 8 of 74
ID
release, in human-readable format. This field can be the same as
android.os.Build.VERSION.INCREMENTAL, but SHOULD be a value
sufficiently meaningful for end users to distinguish between software
builds. The value of this field MUST be encodable as 7-bit ASCII and
match the regular expression “^[a-zA-Z0-9._-]+$”.
MANUFACTURER
The trade name of the Original Equipment Manufacturer (OEM) of the
product. There are no requirements on the specific format of this field,
except that it MUST NOT be null or the empty string ("").
MODEL
A value chosen by the device implementer containing the name of the
device as known to the end user. This SHOULD be the same name
under which the device is marketed and sold to end users. There are
no requirements on the specific format of this field, except that it
MUST NOT be null or the empty string ("").
PRODUCT
A value chosen by the device implementer containing the
development name or code name of the specific product (SKU) that
MUST be unique within the same brand. MUST be human-readable,
but is not necessarily intended for view by end users. The value of this
field MUST be encodable as 7-bit ASCII and match the regular
expression “^[a-zA-Z0-9_-]+$”.
SERIAL
A hardware serial number, which MUST be available and unique
across devices with the same MODEL and MANUFACTURER. The
value of this field MUST be encodable as 7-bit ASCII and match the
regular expression “^([a-zA-Z0-9]{6,20})$”.
TAGS
A comma-separated list of tags chosen by the device implementer
that further distinguishes the build. This field MUST have one of the
values corresponding to the three typical Android platform signing
configurations: release-keys, dev-keys, test-keys.
TIME
A value representing the timestamp of when the build occurred.
TYPE
A value chosen by the device implementer specifying the runtime
configuration of the build. This field MUST have one of the values
corresponding to the three typical Android runtime configurations:
user, userdebug, or eng.
USER
A name or user ID of the user (or automated user) that generated the
build. There are no requirements on the specific format of this field,
except that it MUST NOT be null or the empty string ("").
SECURITY_PATCH
An value indicating the security patch level of a build. It MUST signify
that the build includes all security patches issued up through the
designated Android Public Security Bulletin. It MUST be in the format,
[YYYY-MM-DD], matching the Public Security Bulletin's broadcast
date, for example [2015-10-01].
BASE_OS
An value representing the FINGERPRINT parameter of the build that
is otherwise identical to this build except for the patches provided in
the Android Public Security Bulletin. It MUST report the correct value
and if such a build does not exist, report an emtpy string ("").
3.2.3. Intent Compatibility
Device implementations MUST honor Android’s loose-coupling intent system, as described in the
sections below. By“honored ” it is meant that the device implementer MUST provide an Android
Activity or Service that specifies a matching intent filter that binds to and implements correct behavior
Page 9 of 74
for each specified intent pattern.
3.2.3.1. Core Application Intents
Android intents allow application components to request functionality from other Android components.
The Android upstream project includes a list of applications considered core Android applications,
which implements several intent patterns to perform common actions. The core Android applications
are:
Desk Clock
Browser
Calendar
Contacts
Gallery
GlobalSearch
Launcher
Music
Settings
Device implementations SHOULD include the core Android applications as appropriate but MUST
include a component implementing the same intent patterns defined by all the “public” Activity or
Service components of these core Android applications. Note that Activity or Service components are
considered “public” when the attribute android:exported is absent or has the value true.
3.2.3.2. Intent Resolution
As Android is an extensible platform, device implementations MUST allow each intent pattern
referenced in section 3.2.3.1
to be overridden by third-party applications. The upstream Android open
source implementation allows this by default; device implementers MUST NOT attach special
privileges to system applications' use of these intent patterns, or prevent third-party applications from
binding to and assuming control of these patterns. This prohibition specifically includes but is not
limited to disabling the“Chooser” user interface that allows the user to select between multiple
applications that all handle the same intent pattern.
Device implementations MUST provide a user interface for users to modify the default activity for
intents.
However, device implementations MAY provide default activities for specific URI patterns (eg.
http://play.google.com) when the default activity provides a more specific attribute for the data URI.
For example, an intent filter pattern specifying the data URI “http://www.android.com” is more specific
than the browser's core intent pattern for “http://”.
Android also includes a mechanism for third-party apps to declare an authoritative default app linking
behavior for certain types of web URI intents [Resources, 140
]. When such authoritative declarations
are defined in an app's intent filter patterns, device implementations:
MUST attempt to validate any intent filters by performing the validation steps defined in the
Digital Asset Links specification [Resources, 141
] as implemented by the Package
Manager in the upstream Android Open Source Project.
MUST attempt validation of the intent filters during the installation of the application and set
all successfully validated UIR intent filters as default app handlers for their UIRs.
MAY set specific URI intent filters as default app handlers for their URIs, if they are
successfully verified but other candidate URI filters fail verification. If a device
implementation does this, it MUST provide the user appropriate per-URI pattern overrides
in the settings menu.
Page 10 of 74
Documents you may be interested
Documents you may be interested