Android 4.0.3 API

API レベル: 15

Android 4.0.3(ICE_CREAM_SANDWICH_MR1)は、Android 4.0ICE_CREAM_SANDWICH)プラットフォーム ファミリーの増分リリースです。このリリースには、ユーザーとデベロッパー向けの新機能、API の変更、さまざまなバグの修正が含まれています。

デベロッパーの方は、Android SDK のダウンロード可能なコンポーネントとして Android 4.0.3 プラットフォームをご利用いただけます。ダウンロード可能なプラットフォームには、Android ライブラリとシステム イメージ、エミュレータ スキンのセットなどが含まれています。Android 4.0.3 を対象とした開発やテストを開始するには、Android SDK Manager を使用してプラットフォームを SDK にダウンロードします。

API の概要

以下のセクションでは、Android 4.0.3 の新しい API の技術的な概要について説明します。

連絡先プロバイダの Social Stream API

ステータスの更新やチェックインなどのソーシャル ストリーム データを使用するアプリケーションは、そのデータをユーザーの各連絡先と同期し、各連絡先の写真とともにアイテムをストリームで提供できるようになりました。

個々の連絡先のソーシャル ストリームを格納するデータベース テーブルは、android.provider.ContactsContract.StreamItems で定義されます。この URI は、ストリーム アイテムが属する ContactsContract.RawContacts ディレクトリ内にネストされています。各ソーシャル ストリーム テーブルには、ソースを表すアイコン(アバター)、アイテムのラベル、プライマリ テキスト コンテンツ、アイテムに関するコメント(他のユーザーからのレスポンスなど)など、各ストリーム アイテムに関するメタデータの列が複数含まれています。ストリームに関連付けられた写真は、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 スタイルは、ユーザーが入力または作成する単語やテキストに自動修正が適用されることを示します。このタイプの提案は、自動修正が行われていることを示すために、別の方法でレンダリングされます。

Bluetooth

新しいパブリック メソッド fetchUuidsWithSdp()getUuids() を使用すると、アプリはリモート デバイスでサポートされている機能(UUID)を特定できます。fetchUuidsWithSdp() の場合、システムはリモート デバイスでサービス ディスカバリを実行してサポートされている UUID を取得し、その結果を ACTION_UUID インテントにブロードキャストします。

UI ツールキット

新しいメソッド setUserVisibleHint()getUserVisibleHint() を使用すると、フラグメントが現在ユーザーに表示されるかどうかのヒントを設定できるようになりました。ユーザーに表示されるフラグメントのローダーが実行されるまで、ユーザーに表示されないフラグメントの開始は、システムによって延期されます。可視性のヒントは、デフォルトでは「true」です。

グラフィック

ユーザー補助

  • RemoteViews のクライアントは、メソッド setContentDescription() を使用して、インフレートされたレイアウト内の任意の View のコンテンツ説明を設定および取得できるようになりました。
  • getMaxScrollX()getMaxScrollY()setMaxScrollX()setMaxScrollY() の各メソッドを使用すると、アプリで AccessibilityRecord オブジェクトの最大スクロール オフセットを取得、設定できます。
  • タッチ探索モードが有効になっている場合、新しい安全な設定 ACCESSIBILITY_SPEAK_PASSWORD により、ヘッドセットを使用していないときでも、パスワード フィールドに入力されたテキストを読み上げるようユーザーが IME にリクエストするかどうかを指定します。デフォルトでは、ヘッドセットが使用中でない限り、パスワードのテキストは読み上げられません。

テキスト読み上げ

  • ネットワーク TTS サポートのクエリと有効化を行うための新しいメソッド getFeatures() が追加されました。
  • 音声合成エラーの通知を受け取るためにエンジンが登録できる、新しいリスナークラス UtteranceProgressListener が追加されました。

データベース

  • 新しい CrossProcessCursorWrapper クラスを使用すると、コンテンツ プロバイダがクロスプロセス クエリの結果をより効率的に返すことができます。この新しいクラスは、リモートのプロセスに送信されるカーソルをラップするための便利な構成要素です。また、通常の Cursor オブジェクトを CrossProcessCursor オブジェクトに透過的に変換することもできます。

    CrossProcessCursorWrapper クラスは、一般的なパフォーマンスの問題と、コンテンツ プロバイダの実装時にアプリで発生したバグを修正します。

  • CursorWindow(java.lang.String) コンストラクタが入力として名前文字列を受け取るようになりました。ローカル カーソル ウィンドウとリモート カーソル ウィンドウが区別されなくなったため、CursorWindow(boolean) は非推奨になりました。

インテント

デバイス上の一般的なタイプのアプリ(CATEGORY_APP_BROWSERCATEGORY_APP_CALENDARCATEGORY_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 には整数 ID(15)が割り当てられます。この識別子はシステム自体に保存されます。「API レベル」と呼ばれるこの識別子により、アプリをインストールする前に、アプリがシステムと互換性を正しく判断できるようになります。

Android 4.0.3 で導入された API をアプリで使用するには、API レベル 15 以上をサポートする Android プラットフォームに対してアプリをコンパイルする必要があります。必要に応じて、<uses-sdk> 要素に android:minSdkVersion="15" 属性を追加する必要もあります。

詳しくは、API レベルのドキュメントをご覧ください。