Android 4.0.3 API

API 수준: 15

Android 4.0.3 (ICE_CREAM_SANDWICH_MR1)은 Android 4.0 (ICE_CREAM_SANDWICH) 플랫폼 제품군의 증분 출시입니다. 이 출시에는 사용자와 개발자를 위한 새로운 기능, API 변경사항, 다양한 버그 수정이 포함되어 있습니다.

개발자는 Android 4.0.3 플랫폼을 Android SDK의 다운로드 가능한 구성요소로 사용할 수 있습니다. 다운로드 가능한 플랫폼에는 Android 라이브러리, 시스템 이미지, 에뮬레이터 스킨 모음 등이 포함됩니다. Android 4.0.3에서 개발하거나 테스트를 시작하려면 Android SDK Manager를 사용하여 플랫폼을 SDK로 다운로드하세요.

API 개요

아래 섹션에서는 Android 4.0.3의 새로운 API에 대한 기술적 개요를 제공합니다.

연락처 제공자의 소셜 스트림 API

이제 상태 업데이트나 체크인과 같은 소셜 스트림 데이터를 사용하는 애플리케이션에서 해당 데이터를 사용자의 각 연락처와 동기화하여 스트림의 항목과 각 연락처의 사진을 제공할 수 있습니다.

개별 연락처의 소셜 스트림이 포함된 데이터베이스 테이블은 스트림 항목이 속한 ContactsContract.RawContacts 디렉터리 내에 중첩되는 URI인 android.provider.ContactsContract.StreamItems에 의해 정의됩니다. 각 소셜 스트림 테이블에는 소스 (아바타)를 나타내는 아이콘, 항목 라벨, 기본 텍스트 콘텐츠, 항목에 대한 댓글 (예: 다른 사람의 응답)과 같이 각 스트림 항목에 대한 여러 메타데이터 열이 포함됩니다. 스트림과 연결된 사진은 android.provider.ContactsContract.StreamItemPhotos에서 정의한 또 다른 테이블에 저장되며, 이 테이블은 android.provider.ContactsContract.StreamItems URI의 하위 디렉터리로 사용할 수 있습니다.

자세한 내용은 android.provider.ContactsContract.StreamItems 및 android.provider.ContactsContract.StreamItemPhotos를 참고하세요.

연락처의 소셜 스트림 항목을 읽거나 쓰려면 애플리케이션이 매니페스트 파일에서 <uses-permission android:name="android.permission.READ_SOCIAL_STREAM"> 또는 <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM">를 선언하여 사용자에게 권한을 요청해야 합니다.

캘린더 제공자

메인 스크린 위젯

Android 4.0부터는 홈 화면 위젯에 더 이상 자체 패딩이 포함되지 않습니다. 대신 이제 시스템에서 현재 화면의 특성에 따라 각 위젯에 자동으로 패딩을 추가합니다. 이렇게 하면 그리드에 위젯이 더 균일하고 일관되게 표시됩니다. 홈 화면 위젯을 호스팅하는 애플리케이션을 지원하기 위해 플랫폼에서는 새로운 메서드인 getDefaultPaddingForWidget()를 제공합니다. 애플리케이션은 이 메서드를 호출하여 시스템 정의 패딩을 가져오고 위젯에 할당할 셀 수를 계산할 때 이를 고려할 수 있습니다.

맞춤법 검사

  • 맞춤법 검사기 서비스에 액세스하는 앱의 경우 새 cancel() 메서드는 세션에서 대기 중이거나 실행 중인 맞춤법 검사기 작업을 취소합니다.
  • 맞춤법 검사기 서비스의 경우 새로운 추천 플래그 RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS를 사용하면 신뢰도가 높은 추천과 신뢰도가 낮은 추천을 구분할 수 있습니다. 예를 들어 맞춤법 검사기는 사용자 사전에 없는 입력 단어가 추천 단어일 가능성이 있는 경우 플래그를 설정할 수 있고, 입력 단어가 사전에 없고 유용하지 않을 수 있는 추천 검색어가 있는 경우 플래그를 설정할 수 있습니다.

    맞춤법 검사기에 연결된 앱은 RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS 플래그를 다른 추천 속성뿐 아니라 getSuggestionsAttributes()getSuggestionsCount() 메서드와 함께 사용하여 입력 단어를 오타로 표시하고 제안을 제공할지 결정할 수 있습니다.

  • 텍스트 스팬을 위한 새로운 FLAG_AUTO_CORRECTION 스타일은 사용자가 입력/작성 중인 단어/텍스트에 자동 수정이 곧 적용될 예정임을 나타냅니다. 이 유형의 추천은 다르게 렌더링되어 자동 수정이 실행되고 있음을 나타냅니다.

블루투스

새로운 공개 메서드 fetchUuidsWithSdp()getUuids()를 사용하면 앱이 원격 기기에서 지원하는 기능(UUID)을 결정할 수 있습니다. fetchUuidsWithSdp()의 경우 시스템은 원격 기기에서 서비스 검색을 실행하여 지원되는 UUID를 가져온 다음 결과를 ACTION_UUID 인텐트에서 브로드캐스트합니다.

UI 도구 키트

새 메서드 setUserVisibleHint()getUserVisibleHint()를 사용하면 프래그먼트가 현재 사용자에게 표시되는지 여부에 관한 힌트를 설정할 수 있습니다. 시스템은 표시되는 프래그먼트의 로더가 실행될 때까지 사용자에게 표시되지 않는 프래그먼트의 시작을 연기합니다. 공개 상태 힌트는 기본적으로 'true'입니다.

그래픽

접근성

  • 이제 RemoteViews의 클라이언트가 setContentDescription() 메서드를 사용하여 확장된 레이아웃에서 View의 콘텐츠 설명을 설정하고 가져올 수 있습니다.
  • getMaxScrollX(), getMaxScrollY(), setMaxScrollX(), setMaxScrollY() 메서드를 사용하면 앱이 AccessibilityRecord 객체의 최대 스크롤 오프셋을 가져와 설정할 수 있습니다.
  • 터치 탐색 모드가 사용 설정되면 새로운 보안 설정 ACCESSIBILITY_SPEAK_PASSWORD는 헤드셋이 사용 중이 아닐 때도 사용자가 비밀번호 입력란에 입력된 텍스트를 IME에 말하도록 요청하는지 여부를 나타냅니다. 헤드셋을 사용하지 않는 한 기본적으로 비밀번호 텍스트를 말하지 않습니다.

TTS(text-to-speech)

  • 네트워크 TTS 지원을 쿼리하고 사용 설정하기 위한 새로운 메서드 getFeatures()가 추가되었습니다.
  • 엔진이 음성 합성 오류 알림을 수신하도록 등록할 수 있는 새로운 리스너 클래스 UtteranceProgressListener를 추가했습니다.

데이터베이스

  • 새로운 CrossProcessCursorWrapper 클래스를 사용하면 콘텐츠 제공자가 프로세스 간 쿼리 결과를 더 효율적으로 반환할 수 있습니다. 새 클래스는 원격으로 프로세스로 전송되는 커서를 래핑하는 데 유용한 구성요소입니다. 또한 일반적인 Cursor 객체를 CrossProcessCursor 객체로 투명하게 변환할 수 있습니다.

    CrossProcessCursorWrapper 클래스는 애플리케이션이 콘텐츠 제공자를 구현할 때 발생하는 일반적인 성능 문제와 버그를 수정합니다.

  • CursorWindow(java.lang.String) 생성자는 이제 이름 문자열을 입력으로 사용합니다. 시스템은 더 이상 로컬 커서 창과 원격 커서 창을 구분하지 않으므로 CursorWindow(boolean)는 이제 지원 중단됩니다.

인텐트

기기의 일반적인 애플리케이션 유형(예: CATEGORY_APP_BROWSER, CATEGORY_APP_CALENDAR, CATEGORY_APP_MAPS 등)을 타겟팅하기 위한 새로운 카테고리가 추가되었습니다.

카메라

권한

새로운 권한은 다음과 같습니다.

  • android.Manifest.permission#READ_SOCIAL_STREAM 및 android.Manifest.permission#WRITE_SOCIAL_STREAM: 동기화 어댑터가 공유 연락처 제공자의 연락처에 소셜 스트림 데이터를 읽고 쓸 수 있도록 허용합니다.

Android 4.0.3 (API 수준 15)의 모든 API 변경사항에 관한 자세한 내용은 API 차이점 보고서를 참고하세요.

API 수준

Android 4.0.3 API에는 시스템 자체에 저장되는 정수 식별자 15가 할당됩니다. 'API 수준'이라고 하는 이 식별자를 사용하면 시스템에서 애플리케이션을 설치하기 전에 애플리케이션이 시스템과 호환되는지 올바르게 판단할 수 있습니다.

Android 4.0.3에 도입된 API를 애플리케이션에서 사용하려면 API 수준 15 이상을 지원하는 Android 플랫폼에서 애플리케이션을 컴파일해야 합니다. 필요에 따라 android:minSdkVersion="15" 속성을 <uses-sdk> 요소에 추가해야 할 수도 있습니다.

자세한 내용은 API 수준 문서를 참고하세요.