Android2.2 新特性
1. App installation on external storage media 把应用安装在外部存储器(SD卡)
http://androidappdocs.appspot.com/guide/appendix/install-location.html
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" ... >
2. Data backup 用户数据备份
http://androidappdocs.appspot.com/guide/topics/data/backup.html
<manifest ... > <application android:label="MyApplication" android:backupAgent="MyBackupAgent"> <activity ... > ... </activity> </application> </manifest>
3. Graphics 增强了图形处理的功能,特别是3D性能得到大幅度提升
- New OpenGL ES 2.0 APIs in
android.opengl.GLES20
. - New
ETC1
,ETC1Util
, andETC1Util.ETC1Texture
classes and utility methods for using ETC1 for texture compression. - New
ImageFormat
class. - New
YUV image format API
to enable compression from YUV to JPEG and manipulation of YUV data.
4. Media
- New APIs in
android.media.AudioManager
for managing audio focus, transport control, transient loss of audio focus, ducking. - New broadcast intent for routing audio to SCO —
ACTION_SCO_AUDIO_STATE_CHANGED
with extras indicating new state. - New APIs in
SoundPool
to detect completion of sound-loading. - New APIs in
SoundPool
for auto pause and resume. - New APIs in
MediaRecorder
for specifying audio settings for number of channels, encoding and sampling rates, sampling rate. - New APIs for adding files to the media database, so that they are automatically scanned. See
MediaScannerConnection.scanFile
andMediaScannerConnection.OnScanCompletedListener
.
5. Speech recognition and third-party recognition engines
- The platform provides new speech-recognition APIs that allow applications to have a richer interaction with the available voice recognizer. For example, the APIs are sufficient to integrate voice recognition deeply into an IME.
- The platform also provides a
RecognitionService
base class that lets third-party developers create plug-in recognition engines. - New
RecognitionListener
interface to receive callbacks. - New
RecognizerIntent
extras that let a requester app specify details as preferred language, minimum length in milliseconds, and so on.
6. Camera and camcorder
- Changes to camera preview API to improve efficieny of preview pipeline.
- New display orientation for camera (it can now work in portrait orientation).
- New APIs in
android.hardware.Camera
for managing zoom level. - New APIs
android.hardware.Camera.Parameters
for querying and setting device camera settings such as focal length, exposure, zoom level, view angle, and others. - New
thumbnail
utility for video and image thumbnails. - New
CamcorderProfile
andCamcorderProfile
classes enable apps to determine device hardware camera capablities. - New support in
android.media.ExifInterface
for retrieving GPS and focal length.
7. Device policy manager
New device policy management APIs allow developers to write "device administrator" applications that can control security features of the device, such as the minimum password strength, data wipe, and so on. Users can select the administrators that are enabled on their devices. For more information, see the android.app.admin
classees or the example application code inDeviceAdminSample.java.
8. UI Framework
- New UI modes "car mode" and "night mode" and
UiModeManager
let applications adjust their application UI for specific user modes. - New
ScaleGestureDetector
that lets Views detect and handle transformation gestures that involve more than one pointer (multitouch) using the supplied MotionEvents. - Improvements in the way that multitouch events are reported in
MotionEvent
objects. - The layout attribute
fill_parent
is renamed tomatch_parent
. This affects both XML and Java code (seeViewGroup.LayoutParams
). Note that the platform will continue to honor uses offill_parent
in legacy applications. - New layout attributes
tabStripEnabled
,tabStripRight
, andtabStripLeft
let developers customize the bottom strip of TabWidgets. - Better support for managed dialogs in Activity.
9. Accounts and sync
- New method
AddPeriodicSync()
lets you schedule a periodic sync with a specific account, authority, and extras at the given frequency.
10. New manifest elements and attributes
- For specifying the application's preferred install location (see App Installation on External Storage Media, above):
- New
android:installLocation
attribute of the<manifest>
element. Specifies the default install location defined by an application.
- New
- For managing user data backup (see Backup manager, above, for more information):
- New
android:backupAgent
attribute of the<application>
element. Specifies the component name of the BackupAgent subclass provided by the application to handle backup/restore operations, if any. - New
android:restoreAnyVersion
attribute of the<application>
element. Boolean value that indicates whether the application is prepared to attempt a restore of any backed-up dataset, even if the backup is apparently from a newer version of the application than is currently installed on the device.
- New
- For managing the platform's JIT compiler:
- New
android:vmSafeMode
attribute of the<application>
element. Boolean value that specifies whether to disable JIT compiler optimizations when running the application.
- New
11. Permissions
android.permission.BIND_DEVICE_ADMIN
— Any device administration broadcast receiver must require this permission, to ensure that only the system can interact with it.android.permission.KILL_BACKGROUND_PROCESSES
— Allows an application to callkillBackgroundProcesses(String)
.android.permission.BIND_WALLPAPER
— AnyWallpaperService
must require this permission, to ensure that only the system can interact with it.android.permission.SET_TIME
— Allows an application to set the system time.