pdfbox c# port : Create bookmarks pdf files control SDK platform web page .net html web browser android-cdd5-part528

SHOULD be capable of reading the barcode and URL (if encoded) of Thinfilm
NFC Barcode [Resources, 102
] products.
MUST be capable of transmitting and receiving data via the following peer-to-
peer standards and protocols:
ISO 18092
LLCP 1.2 (defined by the NFC Forum)
SDP 1.0 (defined by the NFC Forum)
NDEF Push Protocol [Resources, 103
]
SNEP 1.0 (defined by the NFC Forum)
MUST include support for Android Beam [Resources, 104
]:
MUST implement the SNEP default server. Valid NDEF messages
received by the default SNEP server MUST be dispatched to
applications using the android.nfc.ACTION_NDEF_DISCOVERED
intent. Disabling Android Beam in settings MUST NOT disable
dispatch of incoming NDEF message.
MUST honor the android.settings.NFCSHARING_SETTINGS intent
to show NFC sharing settings [Resources, 105
].
MUST implement the NPP server. Messages received by the NPP
server MUST be processed the same way as the SNEP default
server.
MUST implement a SNEP client and attempt to send outbound P2P
NDEF to the default SNEP server when Android Beam is enabled. If
no default SNEP server is found then the client MUST attempt to
send to an NPP server.
MUST allow foreground activities to set the outbound P2P NDEF
message using android.nfc.NfcAdapter.setNdefPushMessage, and
android.nfc.NfcAdapter.setNdefPushMessageCallback, and
android.nfc.NfcAdapter.enableForegroundNdefPush.
SHOULD use a gesture or on-screen confirmation, such as 'Touch
to Beam', before sending outbound P2P NDEF messages.
SHOULD enable Android Beam by default and MUST be able to
send and receive using Android Beam, even when another
proprietary NFC P2p mode is turned on.
MUST support NFC Connection handover to Bluetooth when the
device supports Bluetooth Object Push Profile. Device
implementations MUST support connection handover to Bluetooth
when using android.nfc.NfcAdapter.setBeamPushUris, by
implementing the “Connection Handover version 1.2” [Resources,
106
] and “Bluetooth Secure Simple Pairing Using NFC version 1.0”
[Resources, 107
] specs from the NFC Forum. Such an
implementation MUST implement the handover LLCP service with
service name “urn:nfc:sn:handover” for exchanging the handover
request/select records over NFC, and it MUST use the Bluetooth
Object Push Profile for the actual Bluetooth data transfer. For
legacy reasons (to remain compatible with Android 4.1 devices), the
implementation SHOULD still accept SNEP GET requests for
exchanging the handover request/select records over NFC.
However an implementation itself SHOULD NOT send SNEP GET
requests for performing connection handover.
MUST poll for all supported technologies while in NFC discovery mode.
SHOULD be in NFC discovery mode while the device is awake with the screen
active and the lock-screen unlocked.
Page 51 of 74
Create bookmarks pdf files - 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
bookmarks in pdf; editing bookmarks in pdf
Create bookmarks pdf files - 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
add bookmark to pdf reader; adding bookmarks to a pdf
(Note that publicly available links are not available for the JIS, ISO, and NFC Forum specifications
cited above.)
Android includes support for NFC Host Card Emulation (HCE) mode. If a device implementation does
include an NFC controller chipset capable of HCE and Application ID (AID) routing, then it:
MUST report the android.hardware.nfc.hce feature constant.
MUST support NFC HCE APIs as defined in the Android SDK [Resources, 108
].
Additionally, device implementations MAY include reader/writer support for the following MIFARE
technologies.
MIFARE Classic
MIFARE Ultralight
NDEF on MIFARE Classic
Note that Android includes APIs for these MIFARE types. If a device implementation supports
MIFARE in the reader/writer role, it:
MUST implement the corresponding Android APIs as documented by the Android SDK.
MUST report the feature com.nxp.mifare from the
android.content.pm.PackageManager.hasSystemFeature() method [Resources, 70
]. Note
that this is not a standard Android feature and as such does not appear as a constant in
the android.content.pm.PackageManager class.
MUST NOT implement the corresponding Android APIs nor report the com.nxp.mifare
feature unless it also implements general NFC support as described in this section.
If a device implementation does not include NFC hardware, it MUST NOT declare the
android.hardware.nfc feature from the android.content.pm.PackageManager.hasSystemFeature()
method [Resources, 70
], and MUST implement the Android NFC API as a no-op.
As the classes android.nfc.NdefMessage and android.nfc.NdefRecord represent a protocol-
independent data representation format, device implementations MUST implement these APIs even if
they do not include support for NFC or declare the android.hardware.nfc feature.
7.4.5. Minimum Network Capability
Device implementations MUST include support for one or more forms of data networking. Specifically,
device implementations MUST include support for at least one data standard capable of 200Kbit/sec
or greater. Examples of technologies that satisfy this requirement include EDGE, HSPA, EV-DO,
802.11g, Ethernet, Bluetooth PAN, etc.
Device implementations where a physical networking standard (such as Ethernet) is the primary data
connection SHOULD also include support for at least one common wireless data standard, such as
802.11 (Wi-Fi).
Devices MAY implement more than one form of data connectivity.
Devices MUST include an IPv6 networking stack and support IPv6 communication using the managed
APIs, such as java.net.Socket and java.net.URLConnection, as well as the native APIs,
such as AF_INET6 sockets. The required level of IPv6 support depends on the network type, as
follows:
Devices that support Wi-Fi networks MUST support dual-stack and IPv6-only operation on
Wi-Fi.
Devices that support Ethernet networks MUST support dual-stack operation on Ethernet.
Devices that support cellular data SHOULD support IPv6 operation (IPv6-only and
Page 52 of 74
C# PDF File Split Library: Split, seperate PDF into multiple files
C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines. This is an C# example of splitting a PDF to two new PDF files.
bookmarks pdf; bookmarks pdf file
VB.NET PDF File Split Library: Split, seperate PDF into multiple
PDF file into multiple ones by PDF bookmarks or outlines index: 1 to (Page Count - 1). ' Create output PDF i.ToString() + ".pdf") Next ' Split input PDF file to
creating bookmarks in pdf files; creating bookmarks pdf files
possibly dual-stack) on cellular data.
When a device is simultaneously connected to more than one network (e.g., Wi-Fi and
cellular data), it MUST simultaneously meet these requirements on each network to which
it is connected.
IPv6 MUST be enabled by default.
In order to ensure that IPv6 communication is as reliable as IPv4, unicast IPv6 packets sent to the
device MUST NOT be dropped, even when the screen is not in an active state. Redundant multicast
IPv6 packets, such as repeated identical Router Advertisements, MAY be rate-limited in hardware or
firmware if doing so is necessary to save power. In such cases, rate-limiting MUST NOT cause the
device to lose IPv6 connectivity on any IPv6-compliant network that uses RA lifetimes of at least 180
seconds.
IPv6 connectivity MUST be maintained in doze mode.
7.4.6. Sync Settings
Device implementations MUST have the master auto-sync setting on by default so that the method
getMasterSyncAutomatically() returns “true” [Resources, 109
].
7.5. Cameras
Device implementations SHOULD include a rear-facing camera and MAY include a front-facing
camera. A rear-facing camera is a camera located on the side of the device opposite the display; that
is, it images scenes on the far side of the device, like a traditional camera. A front-facing camera is a
camera located on the same side of the device as the display; that is, a camera typically used to
image the user, such as for video conferencing and similar applications.
If a device implementation includes at least one camera, it SHOULD be possible for an application to
simultaneously allocate 3 bitmaps equal to the size of the images produced by the largest-resolution
camera sensor on the device.
7.5.1. Rear-Facing Camera
Device implementations SHOULD include a rear-facing camera. If a device implementation includes at
least one rear-facing camera, it:
MUST report the feature flag android.hardware.camera and android.hardware.camera.any.
MUST have a resolution of at least 2 megapixels.
SHOULD have either hardware auto-focus or software auto-focus implemented in the
camera driver (transparent to application software).
MAY have fixed-focus or EDOF (extended depth of field) hardware.
MAY include a flash. If the Camera includes a flash, the flash lamp MUST NOT be lit while
an android.hardware.Camera.PreviewCallback instance has been registered on a Camera
preview surface, unless the application has explicitly enabled the flash by enabling the
FLASH_MODE_AUTO or FLASH_MODE_ON attributes of a Camera.Parameters object.
Note that this constraint does not apply to the device’s built-in system camera application,
but only to third-party applications using Camera.PreviewCallback.
7.5.2. Front-Facing Camera
Device implementations MAY include a front-facing camera. If a device implementation includes at
least one front-facing camera, it:
MUST report the feature flag android.hardware.camera.any and
Page 53 of 74
C# PDF File Compress Library: Compress reduce PDF size in C#.net
and decompression method and Image files compression and Bookmarks. outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing options
convert word to pdf with bookmarks; acrobat split pdf bookmark
C# Create PDF Library SDK to convert PDF from other file formats
Create multipage PDF from OpenOffice and CSV file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc.
bookmark pdf documents; create pdf bookmarks
android.hardware.camera.front.
MUST have a resolution of at least VGA (640x480 pixels).
MUST NOT use a front-facing camera as the default for the Camera API. The camera API
in Android has specific support for front-facing cameras and device implementations
MUST NOT configure the API to to treat a front-facing camera as the default rear-facing
camera, even if it is the only camera on the device.
MAY include features (such as auto-focus, flash, etc.) available to rear-facing cameras as
described in section 7.5.1
.
MUST horizontally reflect (i.e. mirror) the stream displayed by an app in a CameraPreview,
as follows:
If the device implementation is capable of being rotated by user (such as
automatically via an accelerometer or manually via user input), the camera
preview MUST be mirrored horizontally relative to the device’s current
orientation.
If the current application has explicitly requested that the Camera display be
rotated via a call to the android.hardware.Camera.setDisplayOrientation()
[Resources, 110
] method, the camera preview MUST be mirrored horizontally
relative to the orientation specified by the application.
Otherwise, the preview MUST be mirrored along the device’s default horizontal
axis.
MUST mirror the image displayed by the postview in the same manner as the camera
preview image stream. If the device implementation does not support postview, this
requirement obviously does not apply.
MUST NOT mirror the final captured still image or video streams returned to application
callbacks or committed to media storage.
7.5.3. External Camera
Device implementations with USB host mode MAY include support for an external camera that
connects to the USB port. If a device includes support for an external camera, it:
MUST declare the platform feature android.hardware.camera.external and
android.hardware camera.any.
MUST support USB Video Class (UVC 1.0 or higher).
MAY support multiple cameras.
Video compression (such as MJPEG) support is RECOMMENDED to enable transfer of high-quality
unencoded streams (i.e. raw or independently compressed picture streams). Camera-based video
encoding MAY be supported. If so, a simultaneous unencoded/ MJPEG stream (QVGA or greater
resolution) MUST be accessible to the device implementation.
7.5.4. Camera API Behavior
Android includes two API packages to access the camera, the newer android.hardware.camera2 API
expose lower-level camera control to the app, including efficient zero-copy burst/streaming flows and
per-frame controls of exposure, gain, white balance gains, color conversion, denoising, sharpening,
and more.
The older API package, android.hardware.Camera, is marked as deprecated in Android 5.0 but as it
should still be available for apps to use Android device implementations MUST ensure the continued
support of the API as described in this section and in the Android SDK.
Device implementations MUST implement the following behaviors for the camera-related APIs, for all
available cameras:
Page 54 of 74
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
converter toolkit SDK, preserves all the original anchors, links, bookmarks and font How to Use C#.NET Demo Code to Convert PDF Document to HTML5 Files in C#
add bookmark pdf file; copy pdf bookmarks
.NET PDF SDK - Description of All PDF Processing Control Feastures
View,Convert,Edit,Process,Protect,SignPDF Files. Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display; Conversion. PDF Create.
convert excel to pdf with bookmarks; delete bookmarks pdf
If an application has never called
android.hardware.Camera.Parameters.setPreviewFormat(int), then the device MUST use
android.hardware.PixelFormat.YCbCr_420_SP for preview data provided to application
callbacks.
If an application registers an android.hardware.Camera.PreviewCallback instance and the
system calls the onPreviewFrame() method when the preview format is YCbCr_420_SP,
the data in the byte[] passed into onPreviewFrame() must further be in the NV21 encoding
format. That is, NV21 MUST be the default.
For android.hardware.Camera, device implementations MUST support the YV12 format
(as denoted by the android.graphics.ImageFormat.YV12 constant) for camera previews for
both front- and rear-facing cameras. (The hardware video encoder and camera may use
any native pixel format, but the device implementation MUST support conversion to YV12.)
For android.hardware.camera2, device implementations must support the
android.hardware.ImageFormat.YUV_420_888 and android.hardware.ImageFormat.JPEG
formats as outputs through the android.media.ImageReader API.
Device implementations MUST still implement the full Camera API included in the Android SDK
documentation [Resources, 111
], regardless of whether the device includes hardware autofocus or
other capabilities. For instance, cameras that lack autofocus MUST still call any registered
android.hardware.Camera.AutoFocusCallback instances (even though this has no relevance to a non-
autofocus camera.) Note that this does apply to front-facing cameras; for instance, even though most
front-facing cameras do not support autofocus, the API callbacks must still be “faked” as described.
Device implementations MUST recognize and honor each parameter name defined as a constant on
the android.hardware.Camera.Parameters class, if the underlying hardware supports the feature. If the
device hardware does not support a feature, the API must behave as documented. Conversely,
device implementations MUST NOT honor or recognize string constants passed to the
android.hardware.Camera.setParameters() method other than those documented as constants on the
android.hardware.Camera.Parameters. That is, device implementations MUST support all standard
Camera parameters if the hardware allows, and MUST NOT support custom Camera parameter types.
For instance, device implementations that support image capture using high dynamic range (HDR)
imaging techniques MUST support camera parameter Camera.SCENE_MODE_HDR [Resources,
112
].
Because not all device implementations can fully support all the features of the
android.hardware.camera2 API, device implementations MUST report the proper level of support with
the android.info.supportedHardwareLevel property as described in the Android SDK [Resources, 113
]
and report the appropriate framework feature flags [Resources, 114
].
Device implementations MUST also declare its Individual camera capabilities of
android.hardware.camera2 via the android.request.availableCapabilities property and declare the
appropriate feature flags [Resources, 114
]; a device must define the feature flag if any of its attached
camera devices supports the feature.
Device implementations MUST broadcast the Camera.ACTION_NEW_PICTURE intent whenever a
new picture is taken by the camera and the entry of the picture has been added to the media store.
Device implementations MUST broadcast the Camera.ACTION_NEW_VIDEO intent whenever a new
video is recorded by the camera and the entry of the picture has been added to the media store.
7.5.5. Camera Orientation
Both front- and rear-facing cameras, if present, MUST be oriented so that the long dimension of the
camera aligns with the screen’s long dimension. That is, when the device is held in the landscape
orientation, cameras MUST capture images in the landscape orientation. This applies regardless of
the device’s natural orientation; that is, it applies to landscape-primary devices as well as portrait-
primary devices.
Page 55 of 74
XDoc.Word for .NET, Advanced .NET Word Processing Features
page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail Convert Word to PDF; Convert Word to HTML5; Convert Create an empty Word file; Load Word from
pdf bookmark; pdf export bookmarks
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; 'create optimizing options
bookmarks in pdf reader; how to bookmark a pdf document
7.6. Memory and Storage
7.6.1. Minimum Memory and Storage
Android Television devices MUST have at least 5GB of non-volatile storage available for
application private data.
The memory available to the kernel and userspace on device implementations MUST be at least
equal or larger than the minimum values specified by the following table. (See section 7.1.1
for screen
size and density definitions.)
Density and screen size
32-bit device
64-bit device
Android Watch devices (due to smaller screens)
416MB
Not applicable
280dpi or lower on small/normal screens
mdpi or lower on large screens
ldpi or lower on extra large screens
424MB
704MB
xhdpi or higher on small/normal screens
hdpi or higher on large screens
mdpi or higher on extra large screens
512MB
832MB
400dpi or higher on small/normal screens
xhdpi or higher on large screens
tvdpi or higher on extra large screens
896MB
1280MB
560dpi or higher on small/normal screens
400dpi or higher on large screens
xhdpi or higher on extra large screens
1344MB
1824MB
The minimum memory values MUST be in addition to any memory space already dedicated to
hardware components such as radio, video, and so on that is not under the kernel’s control.
Device implementations with less than 512MB of memory available to the kernel and userspace,
unless an Android Watch, MUST return the value "true" for ActivityManager.isLowRamDevice().
Android Television devices MUST have at least 5GB and other device implementations MUST have at
least 1.5GB of non-volatile storage available for application private data. That is, the /data partition
MUST be at least 5GB for Android Television devices and at least 1.5GB for other device
implementations. Device implementations that run Android are STRONGLY RECOMMENDED to
have at least 3GB of non-volatile storage for application private data so they will be able to upgrade to
the future platform releases.
The Android APIs include a Download Manager that applications MAY use to download data files
[Resources, 115
]. The device implementation of the Download Manager MUST be capable of
downloading individual files of at least 100MB in size to the default “cache" location.
7.6.2. Application Shared Storage
Device implementations MUST offer shared storage for applications also often referred as “shared
external storage”.
Page 56 of 74
Device implementations MUST be configured with shared storage mounted by default, “out of the
box”. If the shared storage is not mounted on the Linux path /sdcard, then the device MUST include a
Linux symbolic link from /sdcard to the actual mount point.
Device implementations MAY have hardware for user-accessible removable storage, such as a
Secure Digital (SD) card slot. If this slot is used to satisfy the shared storage requirement, the device
implementation:
MUST implement a toast or pop-up user interface warning the user when there is no SD
card.
MUST include a FAT-formatted SD card 1GB in size or larger OR show on the box and
other material available at time of purchase that the SD card has to be separately
purchased.
MUST mount the SD card by default.
Alternatively, device implementations MAY allocate internal (non-removable) storage as shared
storage for apps as included in the upstream Android Open Source Project; device implementations
SHOULD use this configuration and software implementation. If a device implementation uses internal
(non-removable) storage to satisfy the shared storage requirement, that storage MUST be 1GB in size
or larger and mounted on /sdcard (or /sdcard MUST be a symbolic link to the physical location if it is
mounted elsewhere).
Device implementations MUST enforce as documented the
android.permission.WRITE_EXTERNAL_STORAGE permission on this shared storage. Shared
storage MUST otherwise be writable by any application that obtains that permission.
Device implementations that include multiple shared storage paths (such as both an SD card slot and
shared internal storage) MUST NOT allow Android applications to write to the secondary external
storage, except for their package-specific directories on the secondary external storage, but SHOULD
expose content from both storage paths transparently through Android’s media scanner service and
android.provider.MediaStore.
Regardless of the form of shared storage used, if the device implementation has a USB port with USB
peripheral mode support, it MUST provide some mechanism to access the contents of shared storage
from a host computer. Device implementations MAY use USB mass storage, but SHOULD use Media
Transfer Protocol to satisfy this requirement. If the device implementation supports Media Transfer
Protocol, it:
SHOULD be compatible with the reference Android MTP host, Android File Transfer
[Resources, 116
].
SHOULD report a USB device class of 0x00.
SHOULD report a USB interface name of 'MTP'.
7.6.3. Adoptable Storage
Device implementations are STRONGLY RECOMMENDED to implement adoptable storage if the
removable storage device port is in a long-term stable location, such as within the battery
compartment or other protective cover [Resources, 117
].
Device implementations such as a television, MAY enable adoption through USB ports as the device
is expected to be static and not mobile. But for other device implementations that are mobile in nature,
it is STRONGLY RECOMMENDED to implement the adoptable storage in a long-term stable location,
since accidentally disconnecting them can cause data loss/corruption.
7.7. USB
Device implementations SHOULD support USB peripheral mode and SHOULD support USB host
mode.
Page 57 of 74
If a device implementation includes a USB port supporting peripheral mode:
The port MUST be connectable to a USB host that has a standard type-A or type -C USB
port.
The port SHOULD use micro-A, micro-AB or type-C USB form factor. Existing and new
Android devices are STRONGLY RECOMMENDED to meet these requirements so they
will be able to upgrade to the future platform releases.
The port SHOULD be centered in the middle of an edge. Device implementations
SHOULD either locate the port on the bottom of the device (according to natural
orientation) or enable software screen rotation for all apps (including home screen), so that
the display draws correctly when the device is oriented with the port at bottom. Existing
and new Android devices are STRONGLY RECOMMENDED to meet these
requirements so they will be able to upgrade to future platform releases.
It MUST allow a USB host connected with the Android device to access the contents of the
shared storage volume using either USB mass storage or Media Transfer Protocol.
It SHOULD implement the Android Open Accessory (AOA) API and specification as
documented in the Android SDK documentation, and if it is an Android Handheld device it
MUST implement the AOA API. Device implementations implementing the AOA
specification:
MUST declare support for the hardware feature
android.hardware.usb.accessory [Resources, 118
].
MUST implement the USB audio class as documented in the Android SDK
documentation [Resources, 119
].
And also the USB mass storage class, MUST include the string "android" at the
end of the interface description iInterface string of the USB mass storage
It SHOULD implement support to draw 1.5 A current during HS chirp and traffic as
specified in the USB battery charging specification [Resources, 120
]. Existing and new
Android devices are STRONGLY RECOMMENDED to meet these requirements so they
will be able to upgrade to the future platform releases.
The value of iSerialNumber in USB standard device descriptor MUST be equal to the value
of android.os.Build.SERIAL.
If a device implementation includes a USB port supporting host mode, it:
SHOULD use a type-C USB port, if the device implementation supports USB 3.1.
MAY use a non-standard port form factor, but if so MUST ship with a cable or cables
adapting the port to a standard type-A or type-C USB port.
MAY use a micro-AB USB port, but if so SHOULD ship with a cable or cables adapting the
port to a standard type-A or type-C USB port.
is STRONGLY RECOMMENDED to implement the USB audio class as documented in the
Android SDK documentation [Resources, 119
].
MUST implement the Android USB host API as documented in the Android SDK, and
MUST declare support for the hardware feature android.hardware.usb.host [Resources,
121
].
SHOULD support the Charging Downstream Port output current range of 1.5 A ~ 5 A as
specified in the USB Battery Charging Specifications [Resources, 120
].
7.8. Audio
7.8.1. Microphone
Android Handheld, Watch, and Automotive implementations MUST include a microphone.
Page 58 of 74
Device implementations MAY omit a microphone. However, if a device implementation omits a
microphone, it MUST NOT report the android.hardware.microphone feature constant, and MUST
implement the audio recording API at least as no-ops, per section 7
. Conversely, device
implementations that do possess a microphone:
MUST report the android.hardware.microphone feature constant
MUST meet the audio recording requirements in section 5.4
MUST meet the audio latency requirements in section 5.6
STRONGLY RECOMMENDED to support near-ultrasound recording as described in
section 7.8.3
7.8.2. Audio Output
Android Watch devices MAY include an audio output.
Device implementations including a speaker or with an audio/multimedia output port for an audio
output peripheral as a headset or an external speaker:
MUST report the android.hardware.audio.output feature constant.
MUST meet the audio playback requirements in section 5.5
.
MUST meet the audio latency requirements in section 5.6
.
STRONGLY RECOMMENDED to support near-ultrasound playback as described in
section 7.8.3
Conversely, if a device implementation does not include a speaker or audio output port, it MUST NOT
report the android.hardware.audio output feature, and MUST implement the Audio Output related APIs
as no-ops at least.
Android Watch device implementation MAY but SHOULD NOT have audio output, but other types of
Android device implementations MUST have an audio output and declare
android.hardware.audio.output.
7.8.2.1. Analog Audio Ports
In order to be compatible with the headsets and other audio accessories using the 3.5mm audio plug
across the Android ecosystem [Resources, 122
], if a device implementation includes one or more
analog audio ports, at least one of the audio port(s) SHOULD be a 4 conductor 3.5mm audio jack. If a
device implementation has a 4 conductor 3.5mm audio jack, it:
MUST support audio playback to stereo headphones and stereo headsets with a
microphone, and SHOULD support audio recording from stereo headsets with a
microphone.
MUST support TRRS audio plugs with the CTIA pin-out order, and SHOULD support audio
plugs with the OMTP pin-out order.
MUST support the detection of microphone on the plugged in audio accessory, if the
device implementation supports a microphone, and broadcast the
android.intent.action.HEADSET_PLUG with the extra value microphone set as 1.
SHOULD support the detection and mapping to the keycodes for the following 3 ranges of
equivalent impedance between the microphone and ground conductors on the audio plug:
70 ohm or less: KEYCODE_HEADSETHOOK
210-290 Ohm: KEYCODE_VOLUME_UP
360-680 Ohm: KEYCODE_VOLUME_DOWN
SHOULD support the detection and mapping to the keycode for the following range of
equivalent impedance between the microphone and ground conductors on the audio plug:
Page 59 of 74
110-180 Ohm: KEYCODE_VOICE_ASSIST
MUST trigger ACTION_HEADSET_PLUG upon a plug insert, but only after all contacts on
plug are touching their relevant segments on the jack.
MUST be capable of driving at least 150mV ± 10% of output voltage on a 32 Ohm speaker
impedance.
MUST have a microphone bias voltage between 1.8V ~ 2.9V.
7.8.3. Near-Ultrasound
Near-Ultrasound audio is the 18.5 kHz to 20 kHz band. Device implementations MUST correctly report
the support of near-ultrasound audio capability via the AudioManager.getProperty
API as follows:
If PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND
is "true", then
The microphone's mean power response in the 18.5 kHz to 20 kHz band MUST
be no more than 15 dB below the response at 2 kHz.
The signal to noise ratio of the microphone MUST be no lower than 80 dB.
If PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND
is "true", then the
speaker's mean response in 18.5 kHz - 20 kHz MUST be no lower than 40 dB below the
response at 2 kHz.
8. Performance and Power
Some minimum performance and power criteria are critical to the user experience and impact the
baseline assumptions developers would have when developing an app. Android Watch devices
SHOULD and other type of device implementations MUST meet the following criteria:
8.1. User Experience Consistency
Device implementations MUST provide a smooth user interface by ensuring a consistent frame rate
and response times for applications and games. Device implementations MUST meet the following
requirements:
Consistent frame latency. Inconsistent frame latency or a delay to render frames MUST
NOT happen more often than 5 frames in a second, and SHOULD be below 1 frames in a
second.
User interface latency. Device implementations MUST ensure low latency user
experience by scrolling a list of 10K list entries as defined by the Android Compatibility
Test Suite (CTS) in less than 36 secs.
Task switching. When multiple applications have been launched, re-launching an
already-running application after it has been launched MUST take less than 1 second.
8.2. File I/O Access Performance
Device implementations MUST ensure internal storage file access performance consistency for read
and write operations.
Sequential write. Device implementations MUST ensure a sequential write performance
of at least 5MB/s for a 256MB file using 10MB write buffer.
Random write. Device implementations MUST ensure a random write performance of at
least 0.5MB/s for a 256MB file using 4KB write buffer.
Sequential read. Device implementations MUST ensure a sequential read performance of
at least 15MB/s for a 256MB file using 10MB write buffer.
Page 60 of 74
Documents you may be interested
Documents you may be interested