TelephonyManager.GetImei(Int32) 方法

定义

返回 IMEI (国际移动设备标识) 。

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

参数

slotIndex
Int32

返回的 IMEI

返回

属性

注解

返回 IMEI (国际移动设备标识) 。 如果 IMEI 不可用,则返回 null。

从 API 级别 29 开始,永久性设备标识符受到其他限制保护,建议应用使用可重置标识符 (请参阅) 唯一标识符的最佳做法。 如果满足以下要求之一,则可以调用此方法: <ul><li>如果调用应用已被授予READ_PRIVILEGED_PHONE_STATE权限;这是只能向设备上预加载的应用授予的特权权限。 <如果>呼叫应用是完全托管设备的设备所有者、组织拥有设备的配置文件所有者或其代理人 (看到 android.app.admin.DevicePolicyManager#getEnrollmentSpecificId()) 。 <如果>呼叫应用具有运营商权限, (在任何活动订阅上查看 #hasCarrierPrivileges) 。 <如果>呼叫应用是默认的 SMS 角色持有者, (请参阅 RoleManager#isRoleHeld(String)) 。 <如果已向调用应用授予权限,则Manifest.permission#USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER为 li>。 </ul>

如果调用应用不满足这些要求之一,则此方法的行为如下:

<ul><li>如果调用应用的目标 SDK 为 API 级别 28 或更低,并且应用具有 READ_PHONE_STATE 权限,则返回 null。</li><li>如果调用应用的目标 SDK 为 API 级别 28 或更低,并且应用没有READ_PHONE_STATE权限,或者调用应用面向 API 级别 29 或更高,则会引发 SecurityException。</li></ul>

android.telephony.TelephonyManager.getImei(int)Java 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

适用于