Android 5.1 API
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
API レベル: 22
Android 5.1(LOLLIPOP_MR1)は、ユーザーとアプリ デベロッパー向けの新機能を提供する Lollipop リリースのアップデートです。このドキュメントでは、最も注目すべき新しい API について説明します。
新しいプラットフォーム機能の概要については、Android Lollipop のハイライトをご覧ください。
対象 API レベルを更新する
Android 5.1 用アプリのビルドを開始するには、SDK Manager を使用して Android 5.1 SDK プラットフォームとシステム イメージをダウンロードします。次に、"22"
の targetSdkVersion
を使用するようにアプリ開発プロジェクトを設定します。Android 5.1 システム イメージにアプリをインストールしてテストし、この変更を加えた更新したアプリを公開します。
古いバージョンをサポートしながら Android 5.1 API を使用するには、minSdkVersion
でサポートされていない API を実行する前に、システム API レベルを確認する条件をコードに追加します。下位互換性を維持する方法について詳しくは、さまざまなプラットフォーム バージョンのサポートをご覧ください。
API レベルの仕組みの詳細については、API レベルとはをご覧ください。
複数の SIM カードのサポート
Android 5.1 では、複数の携帯通信会社の SIM カードを同時に使用するためのサポートが追加されました。この機能を使用すると、2 つ以上の SIM カード スロットがあるデバイスで、追加の SIM を有効にして使用できます。
SubscriptionManager
クラスを使用して、現在アクティブな SIM に関する情報(デバイスが現在のネットワークでローミング中と見なされるかどうかなど)にアクセスできます。この情報は、データアクセス料金に敏感なデバイス ユーザーのために、アプリのデータアクセスをスロットリングまたはオフにしたいデベロッパーに役立ちます。アプリは、READ_PHONE_STATE
権限をリクエストし、SubscriptionManager
オブジェクトに SubscriptionManager.OnSubscriptionsChangedListener
を設定することで、デバイスの現在のネットワーク接続の変更をアラートできます。
非推奨の HTTP クラス
org.apache.http
クラスと android.net.http.AndroidHttpClient
クラスは Android 5.1 で非推奨になりました。これらのクラスはメンテナンス対象外であるため、これらの API を使用するアプリコードはできる限り早く URLConnection
クラスに移行する必要があります。
Carrier Services
Android 5.1 では、携帯通信サービス プロバイダが Android デバイスで携帯通信会社のプロビジョニング タスクを実行できるアプリを作成できるようにサポートされています。これらの API を使用すると、携帯通信会社が開発したアプリがこれらのタスクを実行し、Google Play を通じて配信できるようになります。これらの関数を使用するアプリは、デバイスのユニバーサル集積回路カード(UICC)の証明書と一致する証明書で署名する必要があります。
携帯通信会社サービス API が TelephonyManager
クラス、SmsManager
クラス、新しい CarrierMessagingService
クラスに追加されました。アプリは、hasCarrierPrivileges()
メソッドを呼び出して、これらの API へのアクセス権を確認できます。アクセス権なしでこれらの API を呼び出すアプリは、SecurityException
を受け取ります。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-07-27 UTC。"],[],[],null,["# Android 5.1 APIs\n\nAPI Level: 22\n\n\nAndroid 5.1\n([LOLLIPOP_MR1](/reference/android/os/Build.VERSION_CODES#LOLLIPOP_MR1))\nis an update to the Lollipop release that offers new features for users and app developers.\nThis document provides an introduction to the most notable new APIs.\n\n\nFor a high-level look at the new platform features, see the [Android Lollipop highlights](/about/versions/lollipop).\n\n### Update your target API level\n\n\nTo start building apps for Android 5.1, use the\n[SDK Manager](/tools/help/sdk-manager) to download the Android 5.1 SDK\nPlatform and System Images. Then set your app development project to use a\n[`targetSdkVersion`](/guide/topics/manifest/uses-sdk-element#target)\nof `\"22\"`. Install your app on an Android 5.1\nsystem image, test it, then publish the updated app with this change.\n\n\nYou can use Android 5.1 APIs while also supporting older versions by adding\nconditions to your code that check for the system API level before executing APIs not supported\nby your [`minSdkVersion`](/guide/topics/manifest/uses-sdk-element#min). To learn more about maintaining backward compatibility, read [Supporting Different Platform\nVersions](/training/basics/supporting-devices/platforms).\n\n\nFor more information about how API levels work, read [What is API Level?](/guide/topics/manifest/uses-sdk-element#ApiLevels)\n\nMultiple SIM Card Support\n-------------------------\n\n\nAndroid 5.1 adds support for using more than one cellular carrier SIM card at a time. This\nfeature lets users activate and use additional SIMs on devices that have two or more SIM card\nslots.\n\n\nYou can access information about the currently active SIM through the [SubscriptionManager](/reference/android/telephony/SubscriptionManager) class, including whether or not the device is considered\nto be roaming on the current network. This information is useful for developers who want to\nthrottle their apps' data access down or off for device users who are sensitive to data access\ncharges. Your app can be alerted to changes in a device's current network connection by\nrequesting the [READ_PHONE_STATE](/reference/android/Manifest.permission#READ_PHONE_STATE) permission and setting [SubscriptionManager.OnSubscriptionsChangedListener](/reference/android/telephony/SubscriptionManager.OnSubscriptionsChangedListener) on the [SubscriptionManager](/reference/android/telephony/SubscriptionManager) object.\n\nDeprecated HTTP Classes\n-----------------------\n\n\nThe `org.apache.http` classes and the `android.net.http.AndroidHttpClient` class\nhave been deprecated in Android 5.1. These classes are no longer being maintained and you should\nmigrate any app code using these APIs to the [URLConnection](/reference/java/net/URLConnection) classes as soon as\npossible.\n\nCarrier Services\n----------------\n\n\nAndroid 5.1 provides support for telecommunication service providers to create apps that can\nperform carrier provisioning tasks on an Android device. These APIs provide a secure and flexible\nway for carrier-developed apps to perform these tasks and be distributed through Google Play. Apps\nthat use these functions must be signed by a certificate that matches the certificate in the\ndevice's Universal Integrated Circuit Card (UICC).\n\n\nThe carrier service APIs have been added to the [TelephonyManager](/reference/android/telephony/TelephonyManager) class,\nthe [SmsManager](/reference/android/telephony/SmsManager) class, and the new [CarrierMessagingService](/reference/android/service/carrier/CarrierMessagingService) class. Apps can check for access to these APIs\nby calling the [hasCarrierPrivileges()](/reference/android/telephony/TelephonyManager#hasCarrierPrivileges()) method. Apps that\ncall these APIs without access receive a [SecurityException](/reference/java/lang/SecurityException)."]]