TelephonyManager.SubscriberId 属性

定义

返回唯一的订阅者 ID,例如 GSM 电话的 IMSI。

public virtual string? SubscriberId { [Android.Runtime.Register("getSubscriberId", "()Ljava/lang/String;", "GetGetSubscriberIdHandler")] [Android.Runtime.RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE")] get; }
[<get: Android.Runtime.Register("getSubscriberId", "()Ljava/lang/String;", "GetGetSubscriberIdHandler")>]
[<get: Android.Runtime.RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE")>]
member this.SubscriberId : string

属性值

属性

注解

返回唯一的订阅者 ID,例如 GSM 电话的 IMSI。 如果不可用,则返回 null。

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

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

适用于