TelephonyManager.GetDeviceId(Int32) メソッド

定義

サブスクリプションの一意のデバイス ID (GSM の場合は IMEI、CDMA 電話の場合は MEID など) を返します。

[Android.Runtime.Register("getDeviceId", "(I)Ljava/lang/String;", "GetGetDeviceId_IHandler", ApiSince=23)]
[Android.Runtime.RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE")]
public virtual string? GetDeviceId (int slotIndex);
[<Android.Runtime.Register("getDeviceId", "(I)Ljava/lang/String;", "GetGetDeviceId_IHandler", ApiSince=23)>]
[<Android.Runtime.RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE")>]
abstract member GetDeviceId : int -> string
override this.GetDeviceId : int -> string

パラメーター

slotIndex
Int32

返される deviceID

戻り値

属性

注釈

サブスクリプションの一意のデバイス ID (GSM の場合は IMEI、CDMA 電話の場合は MEID など) を返します。 デバイス ID が使用できない場合は null を返します。

API レベル 29 以降では、永続的なデバイス識別子は追加の制限の背後で保護され、アプリはリセット可能な識別子を使用することをお勧めします (「一意識別子のベスト プラクティス」を参照してください)。 このメソッドは、次のいずれかの要件が満たされている場合に呼び出すことができます。 <ul><li>呼び出し元のアプリにREAD_PRIVILEGED_PHONE_STATEアクセス許可が付与されている場合。これは、デバイスに事前に読み込まれたアプリにのみ付与できる特権アクセス許可です。 <li>呼び出し元アプリがフル マネージド デバイスのデバイス所有者である場合は、organization所有デバイスのプロファイル所有者、またはその代理人 (を参照)。android.app.admin.DevicePolicyManager#getEnrollmentSpecificId() <li>呼び出し元アプリに、任意のアクティブなサブスクリプションに対する通信事業者特権 (を参照 #hasCarrierPrivileges) がある場合。 <li>呼び出し元アプリが既定の SMS ロール 所有者である場合は (を参照)。RoleManager#isRoleHeld(String) </ul>

呼び出し元アプリがこれらの要件のいずれかを満たしていない場合、このメソッドは次のように動作します。

<ul><li>呼び出し元アプリのターゲット SDK が API レベル 28 以下で、アプリにREAD_PHONE_STATEアクセス許可がある場合、null が返されます。</li li><>呼び出し元アプリのターゲット SDK が API レベル 28 以下で、アプリにREAD_PHONE_STATEアクセス許可がない場合、または呼び出し元アプリが API レベル 29 以上を対象としている場合は、SecurityException がスローされます。</li></ul>

このメンバーは非推奨とされます。 GSM #getMeid の場合は IMEI を返すか、CDMA の MEID を返す を使用#getImeiします。

android.telephony.TelephonyManager.getDeviceId(int)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象